package langnstats.project.languagemodel.hmm;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Random;

import langnstats.project.Global;
import langnstats.project.lib.LanguageModel;
import langnstats.project.lib.WordType;
import langnstats.project.lib.crossvalidation.CrossValidationResult;
import langnstats.project.lib.crossvalidation.CrossValidationResultItem;
import langnstats.project.lib.crossvalidation.CrossValidationTokenSet;
import langnstats.project.lib.crossvalidation.TrainTokens;
import langnstats.project.tools.Logdouble;

public class HMM implements LanguageModel{
	private static final long serialVersionUID = 1L;
	private double[][] a;
	private double[][] b;
	
	private static double[][] getInitialA(int size){
		double[][] returnA = null;
		if(size==2){
			returnA = new double[][]{
					{0.3954037697354323, 0.6045962302645677}, 
					{0.8471400537952428, 0.1528599462047572}
					};
		}
		else if(size==3){
			returnA = new double[][]{
					{0.4296517398479734, 0.1794167890420209, 0.39093147111000576}, 
					{0.3935914661211002, 0.21079639375449288, 0.3956121401244069}, 
					{0.5794608264103948, 0.072085452577676, 0.3484537210119293}
					};
		}
		else if(size==20){
			returnA =  new double[][] {
					{0.017188945199961718, 0.41002095856428733, 1.5938798335997657E-4, 9.770352981572762E-4, 0.08551811317561746, 0.0038155742471634767, 0.0020823677865239483, 9.78351270624718E-5, 3.256250733228502E-8, 4.480439495393302E-4, 0.023771266147434075, 0.0030229192970715676, 0.01308475174423877, 0.11836186391552236, 0.0770710204433654, 0.04114094587587684, 0.05171475880666988, 0.13900436646407263, 0.012518400635553376, 1.412776014618275E-6}, 
					{0.007219151249632085, 0.0010570518149164787, 5.380049326047825E-16, 2.5399482391827494E-5, 0.0031505001126428188, 0.02716133425164341, 0.002293790375684089, 8.01814388904918E-7, 6.884996454712136E-8, 1.1411107983945039E-4, 0.012403283449346075, 4.4915647314321713E-4, 0.0034387229605173423, 0.0818698659732884, 0.001912109670553206, 3.3800436179207973E-4, 0.5326180676040594, 0.01238719768055534, 0.3135305526809335, 3.083011470735591E-5}, 
					{1.875351166455909E-4, 0.018611228601345026, 0.008687808099343287, 4.544066493072091E-11, 0.005384023545055257, 6.95506375380093E-8, 4.99284523575846E-4, 2.6220084358225797E-11, 4.4955797700328666E-10, 0.8328489110825873, 3.1137285139875393E-4, 6.953142033191141E-4, 7.631789341041308E-6, 6.684860538322658E-4, 0.05671672275673149, 4.15240706670996E-12, 1.910092812264634E-6, 0.07534935212573877, 2.7173782982923524E-6, 2.763170396710971E-5}, 
					{0.11192753653977583, 0.18024557894701096, 0.07478387996866938, 0.0024348414417895143, 0.0032066288809812498, 1.901312393062951E-4, 0.05669640226151327, 7.62779714133649E-4, 4.252919991020751E-5, 0.002101311346448279, 0.0025480421263095908, 0.36207547588967687, 0.019387817639558606, 0.04427136680521722, 0.03486700701992449, 0.039146827996580875, 0.005899759564946017, 0.05133621997553091, 0.002990102521719914, 0.0050857609209966235}, 
					{0.33922559343614206, 0.030550498010434086, 0.04038726435007753, 0.017848411915917208, 0.002241869256877191, 4.211972210808311E-4, 0.35643604327276907, 0.00729166743663238, 0.07415442618830813, 5.07948930823686E-4, 0.006715707662117549, 0.0463977325084322, 0.015307178724241597, 0.004743550146043907, 1.1427548392547272E-5, 0.0023734771646078184, 7.681782654956059E-8, 0.005204774526740499, 0.0011775921856724831, 0.0490035626968624}, 
					{0.0651333600148631, 2.5373693437149086E-8, 0.0015345178341603044, 0.5712112187238514, 1.4937257214616823E-6, 6.0939650634069015E-6, 0.009133630235787664, 0.09112314392807314, 0.0666685443757559, 0.011997375027827401, 6.118197807364934E-4, 0.051850309090982025, 3.765629328054715E-5, 8.367901415585512E-7, 9.248014583974872E-7, 0.01880007056465515, 4.1979994822556634E-8, 1.274619537255239E-5, 6.571618399834994E-7, 0.11187553413674123}, 
					{0.17320290181335465, 0.21518784207883726, 0.0061676344396902035, 0.0029296363547267655, 5.971218909855856E-4, 2.792285734888246E-4, 3.107187120661842E-10, 1.728373519232791E-4, 1.3652280803794353E-4, 0.0035815020780167422, 0.1890868909420828, 0.012963763931836588, 0.04029162358250268, 0.16434145513153114, 1.5995957379471933E-4, 0.18343392520923793, 5.043994157500667E-5, 0.0013278999982737874, 0.006088583329007988, 2.3066037766033851E-7}, 
					{2.197318846087545E-7, 6.099205458425537E-5, 0.1759755251747934, 8.321160436036316E-4, 1.1047082829766699E-4, 7.86172539422719E-11, 0.0028505556821113455, 3.7249605759705965E-12, 2.0737473729233548E-11, 0.8184252028037658, 1.1789876332054352E-9, 9.179516188426973E-7, 1.6106222456231014E-11, 2.658566544566694E-5, 5.477141271588376E-14, 2.8887182171276E-5, 2.809687121208784E-8, 1.7662367269769757E-11, 4.280510140997758E-12, 0.0016884974646808567}, 
					{0.005605210531799123, 0.0883835984218372, 3.016351818653326E-4, 1.4789342004576059E-4, 0.051048433159746574, 0.023523390179844762, 1.9279149227078427E-5, 3.3928235094366583E-4, 2.8295452811803636E-7, 2.115387723235899E-8, 0.012785727698421031, 5.416728992399971E-4, 0.022913523133824686, 0.3006887044050912, 0.03222192588116831, 0.007279752508928315, 0.2174122546979433, 0.08029152379477139, 0.15649506763390206, 8.208429947191498E-7}, 
					{0.1398856166292208, 0.27420394700195083, 0.048317104127831995, 0.0024338147673928735, 0.04033395560037774, 1.6385622417135434E-4, 0.03971453613518857, 5.678366805638475E-4, 9.607119717118705E-7, 0.005025501551326513, 0.0011611826039959609, 0.2682775032230912, 0.018755040164149687, 0.023094863253635398, 0.004722854151809886, 0.00978874435102744, 0.01911935938860929, 0.09007981617717048, 0.009210194301796369, 0.005143312954718107}, 
					{0.18638653808671501, 0.11660954931262417, 0.006242004780266594, 1.3199052439218917E-5, 8.185065848508296E-5, 0.015475728532414107, 0.11956226688763165, 3.8572503223388796E-6, 0.007722691552410433, 0.0028875061303415906, 0.014277302135892107, 0.12759676419397967, 0.04111541043912992, 0.030996599659782742, 0.08740541223129573, 0.09374127424755009, 3.455049974059533E-6, 0.07061254810158468, 0.05925544403054973, 0.020010597666611077}, 
					{0.3532690972351184, 0.07794823531159827, 0.09802460905046906, 0.0022778367075648428, 6.59598117969207E-4, 2.8289458770920206E-5, 0.11726600632703724, 5.274423842548769E-4, 5.178655094775497E-4, 7.589821565953611E-4, 0.013055328151005817, 0.21394186802596046, 0.05024109199961549, 0.008263363688105103, 0.0038587722159743897, 0.0039678106584240536, 1.2189206521976876E-6, 0.03611775090386422, 0.005240908751137327, 0.01403392442640532}, 
					{0.4162461659795163, 5.3831774031312786E-9, 0.006431587285894087, 0.004246925287367516, 0.007950511033725271, 0.2518084758557417, 0.14326912515815785, 0.0012702597050752806, 0.06719027450940304, 2.0172874219672798E-8, 4.352100339433936E-4, 1.139197582299315E-5, 0.026610915324903738, 0.018502693323837742, 2.457939683849085E-7, 0.0032444369444186963, 0.021058708605764805, 7.043958568641557E-4, 6.675396637111636E-4, 0.03035111210583238}, 
					{1.672158092344489E-5, 0.0018321801352090333, 0.004882598989282402, 0.10827261968656707, 0.006908401932731655, 0.005617853084676447, 0.128422321115427, 0.01269228419604447, 0.21453483819514393, 7.978575489886368E-4, 4.4139094033100844E-5, 0.0016169666450891681, 1.2553510990817283E-5, 0.4477001670564074, 0.0014752664213097354, 0.0012641519859238042, 0.019044590052616973, 0.0011126153698650684, 0.0059881097704649324, 0.037763763628304796}, 
					{0.06463373135424783, 0.16126751209454146, 0.04440274568588519, 0.006699734536429339, 0.39978482040715, 7.764357041328E-5, 0.09078771511582462, 8.381971361124912E-4, 0.015604598494844146, 1.5045004168367887E-5, 0.01442944215531778, 7.587900102542253E-5, 0.0033938459216572106, 0.004412696120018915, 0.0010482009081445938, 3.646815089919919E-4, 0.0012072178117080324, 0.18929082294149807, 1.94235521722978E-5, 0.0016460466798490139}, 
					{0.0016261639956484995, 0.0027984928151407067, 1.2614870021295725E-4, 0.7629211228107972, 1.605665883171454E-11, 5.303896116370085E-7, 0.011970809168431615, 0.13106125913842384, 0.006457844393147975, 0.0026340361805679284, 1.492779483841679E-6, 1.3228806044835891E-5, 6.565904310124436E-10, 9.953234911725727E-5, 8.821941854110811E-12, 0.02407870312822754, 1.528762545517833E-14, 5.94179477561532E-12, 2.6402931912002617E-12, 0.05621063465507784}, 
					{0.27734745948233314, 0.005926723612371508, 0.024355181733227642, 0.11662232388010269, 0.0061057627006702465, 0.011132085693272831, 0.18769142917069126, 0.02571605098516163, 0.10177668539646718, 0.0017392331700730008, 0.0050443128848817, 0.02677378308971883, 0.011537276686700619, 0.005932248641365128, 2.976196064253982E-7, 0.00930355003601786, 0.1283433404944935, 8.591335443324194E-6, 0.0023030378324706297, 0.05234062555493072}, 
					{0.02808783311734884, 2.082643665942853E-6, 0.0031785955763032146, 6.484005088946694E-7, 0.7792514676368596, 0.009036730014483095, 0.04100415618044354, 3.8409366477983237E-7, 0.004576541868380723, 2.086800689849214E-9, 2.60822275059434E-4, 3.6596298562271456E-11, 0.002047829102948452, 0.001934754525406171, 8.962416485073534E-5, 4.0015115624852346E-5, 0.003127781389938459, 0.12261750567328353, 1.8405515899550816E-4, 0.004559170938837239}, 
					{0.0037798094982544076, 3.397065620416047E-14, 9.254458569033613E-4, 4.3106545540572036E-4, 0.021265487929209355, 0.03811128700378943, 0.002612312552273931, 4.6219894820493827E-4, 0.018767674824839542, 5.5417865014678404E-5, 0.0014725448688875787, 2.3775860709188977E-11, 0.0014215135664990886, 0.022264207670128495, 8.194979634216034E-6, 9.582471443208302E-4, 0.7268536485102574, 0.04704173059217556, 0.11349281661458147, 7.639609581029017E-5}, 
					{0.0105480805686556, 0.0011491760999337893, 0.0022551457133678275, 0.7596006584098671, 2.8734449695178083E-7, 3.7038916535633556E-6, 1.331208566020235E-4, 0.08422703753349753, 0.004838037008677084, 2.3465141008911314E-5, 1.7609406053969894E-4, 0.08762800311102098, 0.0032659218400622665, 5.460157048389905E-4, 8.655537157998792E-5, 0.015540294265345384, 1.1632357846268613E-7, 5.033289251751807E-4, 2.3190921599361553E-5, 0.029451766908499086}
					};
		}
		else if(size==30){
			returnA = new double[][]{
					{0.0843172358995668, 7.320122499079719E-14, 0.012375431989009776, 0.07379505271294651, 0.3934711587210523, 0.028047494594425255, 0.01102649409291926, 0.014879363032962153, 0.011589585228329728, 0.0017429385858648428, 0.014920043200268275, 0.07308213459161181, 0.04395846200822944, 3.661824900787894E-4, 0.024089914110940965, 0.039225508467128745, 2.0496375269424446E-7, 0.0024955265886483463, 0.00234893498039234, 0.0018560792647934511, 8.581630054979945E-5, 0.08972311210832248, 2.529778021740356E-4, 0.005447945819940943, 0.033732553821917186, 1.0348286506529675E-6, 2.277238320493471E-8, 0.011276006347637731, 0.02587964115567764, 1.3143519751918902E-5}, 
					{7.966579962812225E-4, 1.1502405536490207E-23, 0.0024891086131134366, 0.016432406120915254, 4.78037473368185E-5, 3.6841161675590424E-4, 0.4957111634984481, 2.1416890344717912E-4, 0.06171093574123664, 1.2575605877325001E-5, 0.03661392325602486, 1.132549194302819E-5, 3.2134877695942177E-4, 6.551897296329977E-4, 1.2363479421050339E-7, 2.404254218806752E-4, 7.496241739908371E-5, 0.001038169842068993, 1.9858223088394563E-10, 0.0017754876050501758, 0.001879602669234621, 0.00550125800581554, 0.04791062070882176, 0.0027121092754445217, 1.8462724512935918E-8, 3.312742113177778E-4, 4.922658214157187E-25, 0.009507962866906501, 0.31361332077467813, 2.964480730901063E-5}, 
					{0.004476286841482237, 0.031468327537234955, 0.013482876687501841, 1.856087178310631E-6, 1.0561928657721663E-4, 1.7576688136243892E-4, 0.004459194737726189, 0.021898886595729482, 0.019236634285731653, 2.0008843726588465E-5, 4.492926829017235E-5, 1.4117209449018745E-7, 0.056898782753669566, 0.013455008297827246, 0.11155345587292247, 7.359525374875146E-4, 0.00589301400684888, 0.007317327250063862, 0.0019324386260424664, 0.04802989982795745, 0.057543603915102104, 3.867888441804535E-4, 0.005308978731032703, 0.5764790520330622, 0.0069264210858100365, 2.0978188684417167E-4, 8.422854161155392E-4, 1.7560041252564317E-5, 3.09062875508461E-5, 0.011068214361594522}, 
					{2.623267199909492E-10, 1.5734379426300045E-4, 3.7391726452522823E-6, 0.03168880598785218, 0.046908956698091774, 2.8023337678252607E-8, 0.016956130514759395, 5.2674449404350315E-8, 2.645145637038583E-7, 0.5287659956253541, 0.23360370634991465, 5.566171895732053E-4, 0.002019896804767077, 0.001511664657293148, 0.0016606741172722846, 6.937437352675572E-4, 0.0033360874371989382, 0.005403741883036792, 2.0432805473146018E-7, 0.0014345732007297752, 0.0031921034940176874, 0.03197485359610771, 0.0047388078015194795, 0.07179238367147289, 1.1467820260046923E-5, 5.115697643300904E-7, 1.2598163670268912E-25, 4.639160645627035E-4, 0.01118183273768483, 0.00194189627385898}, 
					{6.525813808836395E-5, 3.935400462447959E-25, 5.524389713159579E-4, 0.011688636816258568, 1.2300142324001698E-8, 7.058167209546052E-14, 0.6075391951421701, 6.111722505274123E-4, 0.0018044022117754445, 4.322533745916096E-5, 6.547959581830483E-6, 4.619972297163119E-6, 3.324103853069413E-4, 2.395219872535196E-6, 0.007474215841078086, 4.140400626530857E-10, 1.995119483775397E-6, 6.788954193890562E-4, 4.587053155758648E-11, 2.5043485038229007E-5, 6.061341808030195E-5, 0.00318034287892218, 0.0187789383066465, 0.0035245744846510397, 8.290428397264172E-6, 0.002678101174684168, 2.6878978609344712E-5, 0.017095331309093104, 0.32381635303954165, 1.1095160821431702E-7}, 
					{4.322434495857051E-6, 6.783478397514639E-26, 0.0021292129761833504, 0.01782208654280483, 1.531163883303274E-5, 2.7929347976322024E-8, 0.3574568935891594, 8.740158988577365E-4, 0.15892983115646567, 5.532132657128297E-5, 1.4927694719669413E-6, 1.0899759991068662E-5, 0.004108015869958468, 9.690331577577334E-4, 0.0067601364482056895, 2.8910059976165575E-9, 5.846386441097191E-8, 0.002752451396108419, 9.160605772894428E-13, 0.006420490841544456, 7.179660160536751E-8, 9.68952197645777E-5, 0.17366633207560594, 3.002189034645889E-4, 3.6310973868032826E-7, 0.0057665703567110465, 1.1552983998058174E-4, 0.008007648496758099, 0.2537056312615419, 3.113384828953275E-5}, 
					{9.935948954030603E-4, 0.031417957460456204, 0.02421928622818591, 4.830630072749836E-4, 0.004944297840078813, 0.0015114503012342185, 0.08680230482372621, 0.016822048044811664, 0.0043902758072785365, 9.593117030443331E-6, 0.0028203935347548095, 1.8098150927624725E-6, 0.03436156785083119, 0.025565605329198007, 0.3013136364156012, 0.03400975239360253, 0.002710805013563017, 0.01572622223272682, 2.560865663186847E-4, 0.08733748276313964, 0.05186791809795586, 1.0938171178485983E-4, 3.8444803866529494E-4, 0.20523730178773428, 0.022280570648360747, 4.5752869326114235E-4, 0.001543993242311464, 4.6159762365099174E-5, 9.945744434393031E-5, 0.042276007132908376}, 
					{0.012442542117545757, 5.740299943557549E-12, 0.003254863755240616, 7.239411011086297E-6, 0.02852240331893207, 0.0022100988677186055, 0.004970774823723006, 0.015495314539134174, 0.013602232386265196, 5.310648335325955E-6, 0.012338465285719108, 0.013593480942246005, 0.004657916660069607, 4.863291878726377E-4, 0.4636802271553576, 0.1556413142238956, 5.110393211721433E-7, 0.0073825590645095, 5.215500535298041E-5, 0.002191621072682814, 0.026000411438730546, 0.024526223854772964, 0.01286625264270812, 0.11638568696466862, 0.07309698676476267, 3.8920148542091374E-4, 1.0207948216667563E-13, 1.4784392965652495E-5, 0.006167654473925685, 1.7438471269484406E-5}, 
					{6.945030717416734E-4, 0.09413897688531944, 1.1803829653496098E-5, 1.5816501087954253E-4, 6.09852987519419E-5, 8.171444868381914E-4, 7.304856209675831E-5, 5.637518002861261E-4, 0.2688419699402239, 1.9649433424756E-5, 0.0010167699419150777, 3.3304257673972395E-5, 0.004346545450428572, 0.009394913099508946, 9.745425482565126E-4, 0.0019495788875535495, 0.14758433140656382, 0.0017431081913887128, 1.357370703642706E-5, 0.03465697873522784, 2.86268961842554E-5, 9.347155069089829E-4, 2.9600186162317195E-5, 0.10325368016670505, 2.502537500558749E-6, 0.2860792750002178, 9.514232264158454E-5, 5.585730852163438E-5, 0.0036240979903942095, 0.03880285753999434}, 
					{2.6351381466672994E-6, 3.342842746739796E-11, 7.154030117624312E-5, 0.020445027669261043, 0.024683016684119506, 2.387283800898578E-5, 0.024122116587885243, 0.002838942661109051, 0.001987543863884973, 0.02620356897819639, 0.04862009966573177, 0.003440782313821389, 9.010462215964256E-5, 0.0023607977747991935, 0.3065680122609843, 0.08525621727281647, 0.019295099379454717, 0.0021771941876495334, 6.413750670822019E-12, 0.003909405645753763, 0.06528688462452782, 0.029317371879109166, 0.008969828667203177, 0.2938130258695369, 0.0023027781707329314, 0.005140769103298995, 8.298570093794806E-19, 3.7040606214636086E-4, 0.022702344894237173, 6.128444063119682E-7}, 
					{0.003956428280887035, 0.003956100846800188, 8.657794040403076E-5, 0.0017586418928541895, 0.02972537788855206, 3.850203202322147E-5, 7.470796355626471E-7, 0.05855964157170438, 7.951829207639044E-4, 1.5805799006163224E-6, 2.847729442336431E-4, 2.049103319296814E-6, 0.03885455702570133, 0.021990587264567613, 0.22155945840058644, 0.029622544151379434, 1.0416852076410947E-4, 0.006564979276967356, 0.0015035238731927177, 0.10214710122213636, 0.18247200379574485, 2.6479744315518783E-4, 4.8114392035808457E-4, 0.25065261718439746, 0.025655635094434567, 9.265060857293909E-4, 0.0026494571473393504, 1.6686891085411805E-6, 5.606119961226117E-4, 0.014823035827236354}, 
					{1.8676968534086908E-4, 0.008371310928007832, 0.0027225712507512653, 5.730290399319368E-6, 0.0071276942619099585, 7.591695382169756E-5, 7.750455617415238E-4, 6.171269090874851E-6, 1.7688379275763465E-4, 0.0011633472024003512, 0.010285251575154083, 0.012968180686400243, 2.3388673729288271E-4, 0.003527482122386713, 0.5461167971105096, 0.18254534651570278, 1.403857974189497E-4, 0.03248595947806804, 4.4406235369114213E-4, 4.924958978570246E-4, 0.00466556266491911, 0.02353181789113912, 1.2871144339475802E-4, 0.0749186803678268, 0.08623860699960009, 3.3140930912963396E-4, 3.237232734074858E-6, 2.5832008034556747E-4, 6.645745581714021E-5, 5.907084390710159E-6}, 
					{9.559526756713884E-9, 5.150469348902776E-4, 7.562962596198515E-11, 1.5659603797265016E-10, 6.332787580741955E-8, 5.684509251807442E-6, 1.2913261553077998E-14, 1.4882613489710574E-9, 2.266283208947203E-10, 5.79268690363085E-10, 8.250441832848641E-13, 1.8908007477751106E-15, 0.07374469245100934, 0.12976046114190745, 1.8680754552601333E-5, 2.0333498056686118E-10, 3.41317981465814E-5, 0.0028604348117892316, 2.675076982152036E-4, 0.5874247528524349, 6.502597099228176E-5, 1.4841091860953898E-13, 3.775209505124012E-15, 1.964083569689918E-4, 1.596663744269177E-7, 8.618687513384738E-7, 2.8193564095213574E-4, 2.161170756886385E-9, 4.7485711861358116E-14, 0.20482413776443165}, 
					{1.3485008516926926E-6, 6.763520184748534E-42, 2.6258632751097484E-14, 2.2436433119851573E-14, 7.100099887788814E-4, 0.0015168711288648217, 3.49892490591108E-9, 2.0222914597579468E-22, 2.963532072133046E-4, 1.5412330534426651E-7, 8.968525063034499E-5, 5.89832268125501E-5, 0.0011502872314846926, 3.82806935768077E-4, 0.0018988179942471197, 0.0038010114956955757, 1.335941198910487E-11, 5.106938118153348E-7, 0.1824640463823794, 4.6254825357544424E-4, 1.3514130079569177E-13, 1.5348521471247015E-10, 1.210428858779912E-8, 0.0049104468082688466, 1.3078947220255495E-9, 4.67555175564337E-22, 0.8014499339909185, 2.1312075814449354E-22, 4.9885877837157434E-8, 8.061178233792488E-4}, 
					{0.03546053062986299, 5.158226839829247E-23, 0.0469448484805738, 0.06557587078678037, 0.274932535370576, 0.14961035668624173, 0.005265493235933119, 7.122000892678767E-9, 0.1504436684991133, 0.015733478760470022, 0.046071424363213424, 0.03533103256475916, 0.0273058465977201, 6.587709419883976E-11, 0.0029569900872976067, 2.677910974182766E-8, 2.3879581195763425E-6, 0.0012986587931994773, 1.811417354547589E-4, 5.553485848967942E-13, 4.9279910690640964E-6, 0.08157903620947324, 0.015625473045499636, 0.0036756159378747684, 1.533397950722375E-4, 1.2373932391635532E-4, 4.2047368056705625E-4, 0.0010590325205409314, 0.04024406297836181, 7.661671384277277E-13}, 
					{6.202165916470215E-7, 1.425306660094859E-26, 0.003956134047664725, 0.12669529902673782, 0.06235116807435801, 0.01725385055323092, 4.089820066953295E-4, 1.5837152636027578E-11, 0.015281921354516987, 0.021184675163363417, 0.014064071905954262, 0.012635526652982417, 7.814298795660136E-21, 8.153195031082401E-19, 5.155039666287547E-7, 2.4970286492486477E-16, 1.8987565009063612E-12, 3.6861636258895414E-4, 0.009952955969138868, 5.0688656676871654E-11, 1.1176307182891385E-4, 0.01879034528861192, 0.0032622443382714326, 7.418322467612535E-4, 1.0114512582579839E-7, 2.740935307946557E-6, 0.6907220702067168, 0.0011204424648950048, 0.0010941230013339842, 3.9493219522308074E-10}, 
					{0.010511532834635419, 3.846814734805063E-27, 3.2470276537183126E-5, 0.02799515250919474, 0.051657859131074395, 0.13996905596302203, 0.0037905175875125557, 0.0038951967540615676, 0.5336512664722415, 0.07968361564522594, 1.6652952434310372E-4, 0.006541684622989846, 0.01012072685168142, 0.004322727894156558, 4.232135175461903E-5, 6.640461176605714E-4, 9.015671410178422E-12, 4.7548703484978606E-4, 2.2648883618371073E-5, 0.015372906042509571, 1.668220406715476E-8, 0.008624730978121171, 0.006612743989515075, 6.9154995954960205E-12, 6.015984223681549E-4, 0.037853454182679144, 3.851188034570638E-9, 2.616440146152958E-6, 0.029655622787467237, 0.027733467153310706}, 
					{0.08067880578854285, 6.900547250208755E-23, 0.052889646205565494, 0.09271051991304374, 0.22764887598695818, 0.07228322432146357, 0.002776769329890129, 0.004952913427967862, 0.16227399772860968, 0.016816876541306033, 0.017646249961113337, 0.005241629595956346, 0.1148370694115465, 1.9476493808191192E-4, 0.026680375920177798, 0.004947175922305083, 1.6030141222960612E-10, 0.004379589552721359, 0.006700079228200422, 0.0012817696704586806, 1.817173486633321E-6, 0.05067750881466449, 0.00767880474648773, 0.0021715498334809254, 0.01972492409432253, 6.649194671076156E-8, 0.003131004906339487, 0.0032529798730165926, 0.01841349065654176, 7.519805502465396E-6}, 
					{0.07155776284480299, 9.904571155731282E-16, 1.0865372724704203E-6, 0.029059917113370567, 7.248002779825805E-4, 4.0906437551008866E-6, 1.247067203671655E-10, 0.45337168897483676, 7.670067877150795E-7, 0.002288325213655038, 7.557800442355477E-12, 1.1706756724360569E-4, 5.880314826013295E-7, 4.4357023024790943E-10, 0.010766291914182201, 0.007018113684497239, 1.2160087447267225E-8, 7.485276880091424E-4, 0.08854200459719809, 2.4472360636540354E-7, 7.150239072636532E-5, 2.674403171148258E-7, 9.702199540297873E-11, 0.006025080441354298, 9.252803561912001E-4, 1.495959512964267E-9, 0.3262937952377071, 0.002481137582691225, 1.224116023605716E-6, 4.2128740193177127E-7}, 
					{0.20209413442025367, 1.0442800649358013E-21, 0.004442823747044611, 0.007560229954028791, 0.12597958419394956, 0.01207042799752076, 0.005396494854881349, 0.23558144470205022, 0.0154659909507718, 6.09588968822268E-6, 0.009985435608987526, 0.028094766804653434, 0.015280153447802087, 0.00147438076965431, 0.018656500179382536, 0.059915548844926475, 5.182429549357372E-7, 1.2619041289714693E-4, 0.16008610134882142, 0.00233707194747883, 1.4517821331795883E-5, 0.024985644682161103, 0.003239260328962607, 0.03588377366174316, 0.017016799624312313, 1.8463277023312782E-8, 6.304837806400778E-7, 0.0022573115788006312, 0.011776912756446373, 2.712362814367568E-4}, 
					{0.04816048554414303, 1.8003066197752768E-23, 0.007076695203639974, 0.10044161874743793, 0.07643661807353266, 0.0034954441971331717, 0.10640171520033687, 0.013342799426747468, 7.100052844533788E-6, 0.0033290225683464663, 0.12850649756068278, 0.00910959738541336, 5.99183099223371E-4, 0.004430978775779471, 2.142679469131343E-4, 0.007245283000137019, 4.329324584883672E-11, 5.305673242417282E-5, 0.009464575451374848, 0.026832336571657938, 2.2530962176547758E-6, 0.26273606373928887, 1.719375341882734E-4, 1.6672689303064364E-4, 0.004682622548157658, 8.968820479539997E-7, 2.6784363014136804E-4, 0.021988595068015395, 0.1530076275859478, 0.01182815744190276}, 
					{1.7543712573949768E-5, 4.870419415893686E-6, 0.004077503943606471, 1.6741390198942281E-6, 0.00232852893155074, 6.669267934562897E-4, 0.006058060668511388, 7.86944011481602E-6, 0.003531271973035231, 8.456587809955311E-7, 0.6619942657725342, 7.377930480632094E-6, 7.568137405914834E-4, 3.878169114491148E-5, 0.07598813721900764, 0.0016401121818844374, 1.900386346470314E-5, 0.0013483446422461345, 9.671135571072714E-9, 2.4278808905772287E-5, 0.11077322192268177, 0.12639965338486692, 6.482484863036373E-4, 0.0030804945901785072, 5.497891102956585E-4, 2.6867599965989496E-5, 6.373855596408826E-6, 1.814958866148567E-7, 9.986005525513845E-7, 1.9497522110307155E-6}, 
					{1.3654131495703444E-4, 9.136602066396817E-4, 0.008909393909869105, 0.0018049530942495597, 0.003768488179821986, 8.126366125528849E-5, 0.2932133007945554, 6.198072682172378E-5, 0.1548567870746178, 0.048295655823052244, 0.018632954881051742, 3.305238359979114E-4, 0.0037998819337534953, 0.010745112381768906, 0.05556644186718584, 0.015954475519658416, 0.010825473698361522, 0.018648991018391157, 5.840154164292E-4, 4.797576311338715E-4, 0.0018775221535622022, 0.0020351407840010095, 0.27523031620336824, 0.0010125750666901457, 4.769881066278366E-5, 0.04964847307135345, 0.002036456761968451, 3.3779441743327635E-4, 0.02013042416586219, 3.394559552643914E-5}, 
					{0.019581338111422538, 3.2537221570942806E-26, 9.156839459240496E-5, 1.0126705206247856E-4, 0.0782448296395241, 0.07152230235750405, 3.606328149281421E-6, 0.021903546849253948, 0.12836217715495654, 9.559457202835005E-4, 0.004233611569557166, 0.0011812898682517262, 0.19196054851885586, 0.006681720335441222, 1.4713237729501903E-4, 0.010105842559007948, 6.006834392024425E-8, 0.3264593831215036, 3.7686311380317274E-4, 0.024488850217705724, 0.0031985455258119423, 0.027801813321530214, 4.1162460862994156E-4, 6.753688107647474E-12, 0.06705833107454237, 4.5880908442852354E-4, 0.0015158750929284198, 0.0021586299306875518, 0.00992214840074253, 0.001072339596430542}, 
					{0.014369478942034913, 3.421935423641555E-4, 3.7007563979563484E-6, 0.012792698439705954, 5.06561021168206E-5, 2.418383976990261E-7, 4.3020932624871245E-9, 0.08119672946992001, 1.6986486622899176E-4, 0.00995028350011208, 1.2851112551859765E-9, 7.113653112658002E-6, 2.1947751820303876E-4, 0.002599788939531576, 0.35373913780684996, 0.030623983814846524, 5.381362398608881E-4, 0.023598506357930094, 6.523422181708786E-4, 0.004526477601817012, 0.018994631751046893, 5.7402090916937375E-6, 6.845533972189524E-6, 0.3261587704583093, 0.11825420802811436, 1.7522487060110832E-4, 3.783677726992715E-9, 2.6254330662527558E-5, 1.1793346423006763E-4, 8.795703754882568E-4}, 
					{4.570646647126796E-4, 0.007281593904682471, 0.00704210679930107, 2.9433866146703376E-4, 0.001888310334439231, 4.987016788077739E-4, 0.006809632074117919, 9.603076053240227E-4, 0.0015574305534267886, 3.901428489294876E-5, 0.00542876798106711, 1.847958358350345E-5, 0.009720021815067103, 0.014674591421168823, 0.0057577781986932934, 0.00908024022749748, 0.3334853525978802, 0.008858870943802586, 2.1971733288871862E-4, 0.07092274844745969, 0.001154288373075128, 0.0023364943436925013, 1.014821842695679E-5, 0.24369501022749276, 0.0026983589337897743, 0.017313306376819798, 5.335123903803702E-4, 6.020390400905675E-7, 0.009488500342508888, 0.23777470964449338}, 
					{0.09953254969879055, 7.24760204572109E-6, 0.015379591824417236, 0.024600157972135783, 0.2641397413923056, 0.012812006500532722, 0.0011335562487895178, 0.11156396358284763, 0.018411052434285535, 3.6638097245912936E-8, 0.019769848582409967, 0.08767982872259729, 0.00736687458809374, 5.098904092305717E-4, 0.09828275273207208, 0.0489004338420728, 8.748375719146698E-8, 7.478247882695106E-4, 0.01905296582100214, 0.0019147635644803825, 5.491634006656198E-4, 0.05643687077368171, 0.004858530112090432, 0.03341572193316717, 0.04071417084261969, 3.133892251894052E-7, 0.004896258765509947, 0.002107786867120298, 0.0252157331760948, 2.7631159205109024E-7}, 
					{0.019191455613022212, 2.1586479291898236E-9, 1.9597481767487773E-5, 0.12207034833977404, 0.0012104851931331597, 1.14602600821624E-5, 1.6088652360841184E-9, 0.13879817980463802, 0.0012932200504749312, 9.333607947857769E-5, 6.403112841676322E-11, 3.7896406943592243E-6, 0.006016076045040242, 2.2023474344142474E-7, 0.0011177509159308774, 8.143577769050219E-4, 1.6775867956645413E-6, 0.021924491288201904, 2.035754317750035E-4, 0.004326335405635911, 6.7868571085778E-4, 3.1315140690633156E-4, 1.4766199296923905E-6, 0.007223741254099087, 0.004157885479555983, 7.843682340857596E-7, 9.285890813612882E-13, 0.0411675798951541, 0.6287069442678663, 6.533900168308516E-4}, 
					{8.915067203901188E-9, 3.480465235416569E-4, 0.0022806421573803247, 0.020369057663227032, 5.083030685561974E-7, 9.15470426160419E-10, 0.746597643623859, 4.828978611039582E-9, 0.005336132456243685, 2.3418579555134327E-5, 0.04307246977198343, 2.264092348311111E-6, 0.001129513315660271, 2.046928233222912E-4, 0.0015469315603979638, 7.24309861440436E-4, 6.488411074249007E-6, 4.0678750834978136E-4, 2.0559302346178303E-6, 0.0016361443705191733, 0.02039821821900001, 0.01560374213562918, 0.021754882786487212, 0.010418117035104753, 1.170383342486938E-5, 0.0011141613709438974, 1.0359191614883954E-4, 1.0256727301932297E-4, 0.1061561465275329, 6.497472909865178E-4}, 
					{0.008995532181513088, 1.0950369049828501E-21, 2.705947356863543E-4, 0.10840781336107866, 0.22024984498714306, 0.029377611155493907, 8.101084450084365E-4, 0.05503451679570959, 0.023205037123313992, 2.0264757561803542E-5, 0.0019001410033202175, 0.09720364993937944, 0.07517392849041277, 1.2248120184187933E-5, 0.1711202160840174, 0.05589988922398202, 7.25108329466599E-7, 1.5988495301274323E-5, 0.005328805613225572, 2.4022274785952285E-4, 6.87780364003917E-5, 0.01790752013243949, 0.0010144592355571533, 0.09528831554263659, 0.013881820251003582, 3.4824322155007934E-6, 7.268726916421662E-10, 7.435267378888252E-7, 0.018519289190893965, 4.845255672209221E-5}
					};
		}
		else if(size==35){
			returnA = new double[][]{
					{0.0017721314990013554, 0.031160662806650585, 0.05271502887900541, 0.023524366131099525, 0.09085959458261239, 0.0023617837257869116, 0.0012057452100232699, 0.0013132835040068898, 0.10338577026768897, 0.051016095168910036, 0.014886859202332589, 3.633512453838582E-7, 0.05148787510065816, 5.745442064396942E-5, 0.002122842355103317, 6.264470090451954E-5, 0.002271591850810339, 0.03595589025380813, 0.00784694014229328, 0.020105161932885262, 0.047555844007669656, 0.23481590933667512, 4.2016569322758004E-33, 4.175039904826196E-4, 0.018665297377777054, 0.011409530932840667, 0.13046325154899338, 2.492779686316095E-7, 0.02284830669724287, 4.468608781148729E-5, 0.0026332869152505523, 0.007563418967169082, 0.0036780999638199234, 2.577492776237582E-5, 0.0257667548830661}, 
					{5.553821444114095E-5, 0.004427301147855431, 3.4288577049959183E-4, 0.015582850508459025, 0.2549860739634982, 7.819120838866634E-6, 0.005121378418793535, 0.010058064473399487, 0.011731632984343248, 0.08449519541298194, 5.095537657455183E-4, 0.003637193560151848, 0.03396349718038884, 9.309197158727402E-5, 0.0017398190605356718, 0.08250406614040806, 0.0247303771195578, 1.1686491197506483E-5, 0.007887087815658791, 0.006211251045925998, 0.17730602125485723, 4.598854246590367E-7, 9.3392426031804E-30, 2.7765318977669517E-4, 0.05076165689062962, 0.14840032116191926, 2.267435510101581E-5, 8.190115322001952E-4, 7.038977496149479E-4, 1.5342497128414071E-6, 1.3396816078735555E-5, 4.727684204685192E-7, 5.607142269212369E-4, 0.010972547130159048, 0.062063274622916095}, 
					{1.171924920039407E-11, 4.890223026747821E-10, 1.6225600069058364E-19, 9.765806300508283E-16, 6.177502972310498E-5, 8.839765102292425E-12, 4.621301096831441E-11, 1.727676860715061E-9, 1.6420612648996523E-11, 2.7626092297022804E-7, 3.156906228929882E-9, 8.4714880167554E-6, 4.7789140780669274E-12, 5.252493155734176E-10, 1.185799185009824E-10, 3.461346234691456E-8, 4.800429015789154E-9, 2.730440429125881E-15, 5.168869997246856E-10, 7.853214279174397E-4, 2.8335591526743985E-4, 2.6884643477372562E-18, 2.5436645379896586E-38, 6.412661675758222E-8, 1.8893960713391544E-4, 4.637484408025801E-5, 0.08173930372359518, 1.7100225602054889E-10, 4.872513866602954E-11, 2.2517624704942986E-12, 0.9167111877983074, 2.480922211174649E-5, 2.867107491514737E-10, 6.913180822496781E-14, 1.5007401135972304E-4}, 
					{0.4292528650401702, 1.772774539779761E-9, 0.13176277969716277, 5.809377644400068E-8, 1.9800658482829715E-4, 0.3629893368724603, 3.922684421122753E-10, 4.3134774583640983E-10, 2.825936071034689E-7, 1.290983896288773E-9, 4.4259480940041897E-8, 2.5680045197867436E-10, 1.1101598417090282E-7, 0.035409587778293644, 1.4242659021760342E-8, 1.1603395676115838E-11, 5.010530473301287E-11, 1.832690062404391E-7, 1.0754629758832575E-8, 0.001389807876519439, 0.0028458678221631568, 7.401555421805404E-6, 0.0016592974781926611, 1.1002075701596742E-5, 1.3322595494694206E-16, 3.966807192975081E-11, 0.0021209199256952056, 0.004832365454500443, 4.074816872015655E-4, 7.391499951949599E-5, 0.0015684471300280783, 0.02540846265639921, 1.2208004121900799E-5, 2.5298563303139693E-5, 2.424032362098753E-5}, 
					{3.902292577776087E-9, 0.0029799337644762533, 6.171534815237725E-9, 3.644136176932716E-4, 0.0024633915144341967, 1.6980974902613736E-5, 0.031628428636615614, 0.22752263500767025, 0.00775836212335062, 0.0018757921778642377, 7.091240336921353E-5, 3.5748494011357765E-5, 3.4789636236393567E-4, 2.0836248346763775E-4, 0.08835111883821725, 1.7889483865141296E-6, 0.27002206564078707, 0.00473585088592858, 0.33684693895512785, 0.001520728980691655, 1.5622580179301096E-4, 5.895761766300069E-6, 6.331189431347292E-30, 2.6112162393302778E-5, 2.556975400500624E-4, 0.008407837708484859, 0.00896310980693144, 1.5203943927463399E-5, 0.0019454455039990886, 3.6661986224861685E-5, 1.1828812890736328E-12, 3.2268099364408134E-4, 2.3865779352995116E-5, 8.510854059154517E-4, 0.002238817721148684}, 
					{8.277930064846972E-7, 0.08777420949290002, 0.044643694767001765, 0.03838786819733065, 0.09371655207470596, 4.5640298630649184E-4, 3.182742445825164E-5, 1.6797793829883543E-5, 0.08705526313412168, 0.01648490778916724, 0.004274816849230233, 8.023163840848031E-7, 0.022516679502759162, 1.4585180124495248E-5, 0.002297293283516444, 0.016851534900355847, 6.60101694170182E-4, 0.01579255106711393, 0.014836854598232023, 0.025290329249119586, 0.10891604799396094, 0.21308949257984783, 2.432485364382879E-35, 2.620940751828793E-8, 0.016907664732808848, 0.04752910907884643, 0.06381065350177008, 4.1865071547135574E-7, 0.0630352013236798, 1.5258931789638395E-4, 0.0016193239942680303, 0.005693341785956101, 0.0051015257872776, 9.405528391435808E-5, 0.002946649665816177}, 
					{0.22148845852096927, 0.009743894119958558, 0.0490603349768011, 1.6517332926007426E-10, 0.005917624257953172, 8.36862972076675E-5, 3.485719254491933E-4, 1.4882439073026502E-4, 0.015119597004527254, 0.002347437989186696, 0.06734483682771353, 9.670895759206049E-4, 0.014027114878611828, 0.030701930915400504, 7.013838858731399E-7, 1.2899580086001258E-8, 6.39361406499771E-5, 0.08270675400034458, 7.362608454108377E-7, 0.12492396369593238, 1.0348423504185969E-4, 0.013689259551608384, 0.003463653686976991, 0.12248148816539947, 2.1298363134108085E-4, 0.0013703145669800236, 0.0011648446762861071, 7.243783029363861E-4, 0.1335811721258642, 0.0017958358625219935, 0.0034313788619288028, 0.039478870945792575, 0.04862219796231531, 0.004839466535849233, 4.5164662316522274E-5}, 
					{0.05845810395205051, 0.009959458096630508, 0.058915637139906066, 2.944255910244594E-4, 0.003971515493158591, 0.015219760637445026, 2.2978235886719536E-4, 0.00738789772797704, 0.0036250216980111753, 1.3699993330068512E-4, 0.06435872159858003, 1.533193921754897E-4, 0.0016684713005364188, 0.04657807744319023, 8.661291845818195E-5, 1.1377127934710478E-6, 4.4354223419471376E-5, 0.12935557216136742, 0.012234777190610436, 0.17746344894413849, 0.00383800642272964, 0.020436490881678412, 0.01608848146460721, 0.04502675175608096, 0.006293318625801182, 1.5811114253688107E-4, 5.53823439403565E-4, 5.747711635684505E-4, 0.2317511152380574, 0.024264690106604883, 0.0033361425159644433, 0.03291291142287909, 0.019598416881794704, 0.005017754193931429, 6.1192307209797235E-6}, 
					{7.25055614740406E-4, 0.18175250076966776, 0.08029049770972749, 0.00306433248426655, 0.011482699850043585, 0.004084371565840491, 0.03537001184709541, 0.045146763696449994, 2.478985475006457E-6, 0.10240112694904557, 0.06139098163653803, 0.0028199782280566377, 0.005637913727550808, 8.51039053227887E-5, 1.5454454243421083E-4, 0.002891273706641161, 5.829604239418541E-5, 0.005084276335716693, 0.10603897282619767, 0.09802925180183973, 8.675282988216878E-5, 1.5402177429683735E-8, 9.887203458010688E-14, 0.06892450305863355, 0.008166096994965037, 8.341466439206837E-9, 1.7700853066525535E-8, 1.724199418674961E-5, 0.09549543747263357, 4.529444568888416E-5, 3.3570893455570615E-8, 0.008912399651973626, 6.263122899803839E-4, 9.857497349442919E-8, 0.07121535544654922}, 
					{4.494472431878795E-5, 0.09021860569263819, 0.0729725651866646, 2.1816440886721726E-6, 0.006116970399019727, 1.0591320076899353E-7, 5.7432783390159764E-5, 9.91711221490295E-6, 0.047180455457362415, 0.011754739917307034, 0.09040494706472918, 1.4601993949875443E-5, 0.03517783001232041, 0.028857859202208715, 1.1429737835616984E-8, 9.052667429023936E-6, 1.336479484182078E-7, 0.21453006693992882, 4.308808011371489E-6, 0.07862723235989162, 9.021382913345728E-5, 0.030739131365072638, 0.016446386041219837, 0.08961123597124034, 6.496106986145861E-8, 6.2337903710297404E-6, 0.002818377760786745, 1.1060148968314297E-6, 0.12316286632344588, 1.2336100435106503E-4, 0.008125135599062179, 0.010956706350806632, 0.03122916269385936, 0.010705201334263528, 8.54004059868897E-7}, 
					{6.569284554427403E-6, 8.560461050049499E-4, 1.943389075674855E-8, 0.00398363608087128, 0.04263656683021686, 1.647860058098974E-7, 0.022868007716109136, 0.02260848205833501, 0.022872186209285918, 0.004058792145542332, 6.157759012744221E-7, 0.09428621474202041, 0.01964023865451464, 0.0019080688000182955, 5.894614081298344E-4, 0.036465686748217575, 0.002158289420131166, 2.3081600304942904E-7, 0.005005671539496698, 2.110462423656926E-6, 0.32060592895926054, 3.337017335885488E-7, 1.9249879092786925E-28, 6.633521972321579E-4, 0.23536799193362778, 0.06233810987812695, 3.4649806724600065E-5, 2.7736535333951337E-4, 1.2938171466956593E-4, 1.4329402765489903E-6, 1.219354590757288E-6, 5.149113159755508E-9, 1.1768690439014152E-5, 0.0010717656011675813, 0.09954963570302498}, 
					{0.014856683286410682, 1.4154299518438663E-5, 0.016315014289733722, 5.984686460124672E-4, 0.0015899153897563829, 0.15924593184687022, 0.011714398502250164, 0.021053001911369208, 2.488383689195656E-7, 2.4147471039103876E-4, 0.0519097490598016, 0.015903446456564746, 8.052661509389021E-6, 0.005087939221280834, 0.01689674112571378, 4.4653808782293896E-7, 0.012483797956528382, 1.4103271800552228E-4, 0.01153722575471193, 0.0758543454468917, 6.226162587123474E-4, 6.265159539201143E-9, 0.01597217112430394, 1.492214322924898E-5, 0.0023271906351754463, 6.822164923147978E-6, 3.1045008089911183E-4, 0.016076221790050353, 0.12879936184193352, 0.3960382656978777, 4.68064471384924E-4, 0.01493153522280714, 0.005598078740953421, 6.228432850711513E-9, 0.003382218674380244}, 
					{0.0018309372339553865, 0.1122925554001709, 0.01183797980868323, 0.1443162003811941, 0.19111431588434044, 0.0013249352080574477, 0.010042612569435146, 0.008928039845442383, 0.02912656718574354, 0.06337437606018456, 0.001788959234363382, 0.001127924145843787, 0.003817991346120378, 0.0011017598376885799, 0.002967182513208744, 0.0027775502482385336, 0.0023836080372763727, 6.28604358033675E-4, 0.0031217147013749623, 1.281759936253206E-4, 0.19078128645865533, 0.022585500705136895, 2.304138958328239E-22, 3.661470348794478E-4, 0.026638288647598523, 0.02782046935341871, 0.001640003190354774, 1.7492926056876336E-5, 6.272946463455473E-8, 1.4008453675710472E-10, 9.731792551685592E-7, 3.4771958699389316E-8, 7.10674601473322E-4, 0.05286366322292776, 0.08254341304575433}, 
					{0.40929771178371704, 2.9800171430892035E-6, 0.11102606682135412, 3.266281988562282E-6, 7.950431992879888E-7, 0.4170604017033117, 1.6376483705680475E-9, 6.400690801525026E-11, 6.475238866503741E-9, 6.686923219960892E-10, 3.098389402798808E-4, 3.186548520151183E-8, 2.4114823934081467E-4, 0.03417277448563778, 4.667501591158485E-11, 6.975792464941313E-13, 6.845418512515287E-11, 0.0025414260998546097, 5.839934553648724E-13, 0.005228480021461226, 1.6215905217512503E-6, 7.816360077024496E-11, 7.311030037550546E-18, 3.138904888132845E-10, 6.230359008573046E-8, 7.451830454687213E-16, 4.25335769709484E-4, 4.094645613053121E-6, 1.9753286266364765E-6, 1.0336833957713401E-6, 1.994269323041895E-5, 0.01966090771600834, 9.006139969665292E-8, 2.1033637603335456E-9, 3.4477154898191E-9}, 
					{5.95990411642477E-5, 0.02738382344520201, 0.05424022000916693, 0.003986100593544351, 8.812695173815925E-4, 0.2749707197113834, 1.275117985447202E-4, 0.013240466192612231, 3.9291935493081985E-4, 3.418104231385868E-4, 0.11315500793993441, 0.0012263526652302183, 0.007563012211734498, 0.028287518367865114, 0.10092994616559675, 1.3880029490332836E-4, 2.3932785512037134E-7, 0.1435686821923887, 0.026049733272051484, 0.00681869051186803, 0.004451290729515309, 0.0052011187213049145, 0.08081794090738574, 0.0042651130522202525, 0.0034351739090837468, 3.813979629643621E-4, 8.766463187762076E-5, 0.002429050074840668, 0.032967286971329605, 0.015458252056737915, 6.538795175511579E-4, 0.018316197675015168, 0.023560565364276913, 0.004612496257742268, 1.491316577359012E-7}, 
					{6.847068578092213E-4, 0.13352654007953094, 0.016122812660894877, 5.1073167176956E-4, 0.0682704516855969, 0.004380193127249613, 0.01176240943805244, 1.4761710911369142E-4, 0.00861127903571871, 0.04399830092726971, 0.05083137723281076, 0.003435746413937892, 3.108059500855978E-5, 3.19744415931252E-4, 2.7965889126692306E-6, 0.012039823367493119, 6.287488039332069E-4, 0.03128677048084097, 1.6358419727496428E-4, 0.2056462252802796, 6.193269169416392E-7, 6.433603121684071E-4, 9.394985753758834E-6, 0.1740399000803597, 0.005774314788809786, 0.007107833677886843, 1.7341844595660378E-10, 5.98641187312847E-7, 0.14610043368680223, 0.01641542602424828, 7.997835125935047E-20, 5.492601450990801E-4, 0.018125289373279112, 0.007842838212362436, 0.03098979060227922}, 
					{0.0012067023257525027, 7.585149053895489E-5, 6.039165578044605E-4, 6.995895026853373E-4, 5.1847704930986864E-6, 3.5554358978439493E-4, 0.025073496389917436, 0.1805352634569757, 4.443190062454297E-7, 4.1733516097027955E-4, 0.002812020305054184, 3.5534033351271175E-4, 2.8739785330492285E-7, 4.476388615048394E-4, 0.18956842123787962, 0.002900858874897658, 0.12403989018386345, 4.085726036089008E-4, 0.38973731130138356, 0.008323707076415245, 6.368295905315122E-8, 1.1883120869905948E-8, 2.2388545826940875E-4, 0.0110845738845902, 0.016653894541331742, 0.01951871637351332, 1.921758410714928E-4, 5.537209933913474E-8, 0.0011906406786201201, 0.003950296356748603, 5.251751225029978E-5, 1.1001556775217444E-4, 1.8033675879481592E-6, 2.098606503008352E-5, 0.01943298767515377}, 
					{3.8119149504058634E-5, 4.2034305840517E-4, 1.6921062271980092E-7, 0.016736965175857644, 0.16768853671362804, 3.6868772037736497E-7, 0.019082239562215747, 0.05540601932276941, 0.019391559032390582, 0.028334427013544144, 1.033718865546024E-6, 0.04622074395886194, 0.046511249796888796, 4.271128573650994E-6, 0.01404713011373552, 0.026692385815843225, 0.027084066207528484, 1.2513616875444463E-6, 0.06363415916415413, 0.0024227203085063235, 0.26312823475344993, 1.5289974398252605E-5, 3.12270976870022E-29, 7.837785370082877E-7, 0.08352219649891647, 0.0018790868168353403, 0.003749569467647157, 4.542038311533353E-6, 0.002053902733996052, 9.377900590840503E-6, 1.1568985656063913E-9, 6.629368196790211E-6, 3.0727697688661673E-4, 0.006066441354706015, 0.10553890867932628}, 
					{4.649776521577148E-4, 0.03172337501561435, 0.03413368527855315, 1.0319404183857422E-4, 0.0034596416598629666, 0.0065405614852976175, 4.4583483214761366E-5, 0.1734801237052098, 0.006758997457559548, 0.013690736630600846, 0.09349518309681648, 9.609021287710187E-4, 0.007121196714738258, 0.004463459013860634, 0.010511569871977195, 2.413077508712787E-6, 9.633941259073877E-5, 0.20262598004693363, 0.021747064473182788, 0.14180442970812177, 0.0016996517759878971, 9.670143924187754E-4, 1.1547517059421147E-4, 0.05241233895052406, 0.003862083205556703, 1.7969160943400714E-4, 5.044831253544326E-5, 4.924281687258649E-6, 0.11524823013276954, 0.02897708249927556, 5.5505739333385086E-5, 0.013836591001480809, 0.024812160515857988, 0.004516974108852125, 3.3414349281833507E-5}, 
					{0.00332202640822827, 0.017504324882554923, 0.01720828896976737, 0.09046907427669629, 0.0025430492708924906, 5.635483801117921E-4, 0.017294025487980876, 9.324075140626706E-6, 0.037736228608487285, 0.006169621638006197, 1.012338711608902E-4, 2.1930627035769666E-7, 0.10291414169348717, 0.0668847608140139, 3.0652791872186065E-4, 8.604190663263374E-7, 0.003339544142298427, 0.0564428795121325, 2.8718919535915404E-5, 4.1474242498845945E-17, 0.06257591823232285, 0.03348262897400761, 1.7876727231712733E-30, 0.05869902740158892, 0.015016882656112573, 7.079138949616726E-6, 0.0017865910257845628, 0.2998551585260356, 4.27715605072578E-13, 1.4715764285072197E-14, 0.001604176234141139, 8.905339827218133E-9, 1.2483049149701112E-4, 0.06608336277702855, 0.037925937042195976}, 
					{1.707480386998758E-11, 3.357983855943216E-4, 2.7959184116381344E-10, 2.0742506941826003E-5, 1.6766199285179426E-4, 1.0718745129304039E-4, 0.0294749656994735, 0.05044303442005788, 0.0012158940227728755, 4.9999561635064085E-5, 2.7492153740444074E-4, 0.02230951158754408, 0.0014984740498280849, 0.0012393926091540336, 0.3718243441860684, 2.1905331478881502E-7, 0.3621010751934866, 0.002578721953849429, 0.022573870308963972, 0.0015354641930101843, 2.878930850576806E-4, 9.595514388587812E-5, 1.1656619114636098E-29, 9.300016938242363E-6, 0.11242954474942775, 0.004692482501859557, 0.007395557126354537, 7.477294641971544E-7, 2.702618669021394E-4, 3.7545267763285916E-5, 4.3155048887032963E-7, 2.7112978822477184E-5, 2.23556060622284E-4, 3.5445796787125094E-4, 0.0064238749446306215}, 
					{7.5256364031783E-5, 0.18009757044172423, 0.09107350313960307, 0.0026301420580165046, 0.08876603574698581, 0.0014072311534966567, 2.7980136740025164E-8, 2.4047773992968337E-4, 0.049573554971140216, 0.03670477035300904, 0.027967920392026658, 6.807390337346822E-5, 0.018034893793815038, 4.361219444883521E-4, 1.2551704624589387E-4, 2.53669184764337E-6, 0.006297357834211863, 0.14339402122867786, 0.0036045011846962795, 0.03166090569393107, 0.031995342068303276, 0.1117944008259475, 3.134096620996709E-5, 3.878245946032272E-4, 0.009554586732163483, 0.01149117972616896, 0.008503672200165737, 1.1925562422945696E-5, 0.06832477666603048, 2.3083697540820906E-6, 6.514676613498918E-11, 0.01928551422168163, 0.025258903972010884, 0.024762774841430857, 0.006435029526572302}, 
					{4.175566688244633E-4, 2.3781367354877958E-14, 0.0011165327216898357, 3.346388544230219E-21, 3.615074761027352E-4, 0.0035742100314080853, 0.087673064621388, 0.06278871139186568, 3.166988577310171E-7, 2.4926850327904004E-5, 4.686641037132454E-12, 3.6041500625979807E-4, 9.025662391450378E-4, 1.2210493809707504E-16, 0.16424050961487818, 9.643816986645501E-8, 0.28690323712452076, 7.690948426173026E-12, 0.21961509483596253, 0.0021804164718775905, 3.128616444589666E-6, 2.440677436354752E-4, 2.0058701956663516E-23, 0.0020038332135625314, 0.09559498331113425, 0.010749593401227248, 0.0023693795072813506, 0.002601516901006795, 0.0015712749950342263, 5.64686856974418E-8, 3.5896507530931314E-30, 0.0036528230573241696, 2.3152293318886506E-4, 1.0734404797730175E-8, 0.05081864691339013}, 
					{0.0018976531325911256, 4.54136606945259E-5, 0.001973966409475385, 0.001362552291644971, 0.03403270950893278, 0.004807033692452255, 0.07748552237966165, 0.05895560245118845, 0.06614768722398613, 0.04888316597489246, 5.118517727831321E-6, 4.188644946473999E-6, 0.01688777460763612, 0.004483232824737308, 0.0022653282705025583, 0.05929522227886673, 0.03450717838080369, 8.309454139839835E-6, 0.014323682414920129, 1.759414436153965E-5, 0.025006088492091374, 0.0015638855429150856, 4.049715850981555E-33, 7.123639523540169E-9, 9.7526420318846E-5, 0.22578249986635504, 0.01561740917484805, 1.0629924334156007E-7, 1.7652847420585734E-11, 6.335691929036158E-11, 0.0025608926228501716, 8.98490198610699E-6, 1.3567938181518905E-6, 0.00847693455063723, 0.2934953718661251}, 
					{0.00362311132133636, 1.466603720441909E-6, 0.015186683982741683, 4.976760404314791E-4, 2.1477601366690055E-6, 0.05004538239148708, 0.00412520445328579, 2.3609408882733312E-5, 8.771677073216004E-8, 9.146277581720252E-7, 0.010092294304205548, 0.417067602644253, 4.475000749859835E-6, 0.002847329037169643, 6.979696540143435E-5, 0.001525272284951514, 1.315231321559528E-4, 9.812626608294332E-4, 7.849832631917177E-6, 0.01775048869246412, 1.398049737791587E-5, 8.708358373136153E-7, 0.09050637049740319, 3.4686575399275574E-7, 0.2880457478554695, 3.438231394256739E-7, 3.103324018267203E-5, 0.019818625835360523, 0.016052447618159337, 0.04576474899700442, 1.1292092152084383E-4, 0.012712463044692831, 9.278666352439218E-4, 2.679506380997735E-9, 0.002028051791984009}, 
					{1.5703702938178952E-4, 0.015047129867149987, 3.469258274935347E-5, 1.3488719728934823E-10, 0.050458647972759826, 0.0019889361103558067, 0.011497788103358286, 0.00961260152056226, 9.662253461930421E-5, 0.005843506877147631, 6.062145027934233E-4, 1.774964620979568E-11, 1.4247410811860423E-6, 0.0016721771700252271, 1.0847611276854703E-4, 0.784362089110012, 0.0017034349103390177, 1.4158726750874398E-5, 0.03094609748002478, 8.387067220607046E-4, 1.6144247329018336E-9, 1.619654679056398E-8, 9.727114467753867E-4, 0.00348585882248962, 1.8575095219909544E-5, 0.016742688817074768, 8.474700711964324E-7, 1.0707518641887439E-7, 0.02554031041589463, 2.2108648083811537E-5, 1.8368119606651146E-37, 4.6324595219075635E-4, 0.002418983299076833, 0.0016079759966485252, 0.03373682692373942}, 
					{8.088855977765748E-7, 4.589924789215625E-7, 1.4588405590962353E-11, 3.0416864421406417E-10, 0.007593012167823635, 1.737615259379786E-5, 6.981060988662188E-14, 6.656519586016636E-10, 0.3597673337392678, 1.8109827620042252E-7, 1.0285059743870416E-7, 5.85154926207745E-14, 0.004488924926527674, 1.7098966526703208E-4, 1.520956549022777E-10, 1.0750912795132898E-8, 6.350025931861482E-5, 1.430817211239066E-7, 6.473734675101007E-11, 0.0011952010258111424, 0.005053815157092061, 0.1870272974079678, 1.9988227459521381E-28, 8.313460923603016E-8, 2.0259355615746332E-14, 0.03934774234844339, 0.06651095289030642, 1.0317460418994674E-5, 7.372341669687749E-4, 2.40364147894804E-7, 0.3278213863583885, 5.198551537982547E-5, 9.610216936186708E-5, 4.4796208743536924E-5, 2.020587461084351E-9}, 
					{3.285952411272368E-6, 0.05072676027941393, 0.01337434370291817, 0.1369972296786853, 0.06758363125074134, 0.007927203163970012, 0.002317929540600115, 9.173444192382199E-5, 0.0048732930871815865, 0.003263602722942376, 0.008190699283437663, 1.0961758970822517E-10, 0.05093830748176911, 0.0031663584566317504, 0.012550670597190292, 0.004065944352854716, 0.0020563215644271143, 0.0038677975984121346, 1.0485129001503798E-4, 0.004700591602711589, 0.13030319191381762, 0.02299866235912527, 4.057132271222063E-29, 2.35535503134914E-8, 0.28636289552933136, 0.08760911302159935, 0.0118181253438475, 1.6227221775473888E-8, 3.16366707346008E-10, 5.7519531957310115E-12, 0.007892982860007586, 0.0025852932196897957, 4.75602235393036E-6, 0.04785997700605674, 0.025764406463425253}, 
					{1.230649946264325E-10, 7.9551462473076E-5, 6.424010408212755E-6, 0.16747749716751018, 0.044114322901605274, 3.2099869518549E-19, 0.02842429335819367, 6.396471271652585E-4, 0.0015207604002143691, 0.006478218135932899, 5.648393808720603E-4, 0.0013383488698794498, 0.025239613092871253, 2.3759602837121944E-6, 0.03367720105895754, 4.758440055802133E-4, 0.010596626804599772, 0.05577394361905918, 2.619775449840092E-4, 7.855127479326633E-12, 0.2355703436173659, 1.1441585403411812E-6, 3.5594791137810025E-32, 2.3709944371306464E-4, 0.24592129316323974, 1.3118464255585622E-4, 2.9726578535889698E-8, 3.959759952035248E-4, 3.172220303616163E-7, 5.5242320544158085E-12, 6.329412309948547E-6, 4.295188696324305E-7, 4.448489399510406E-4, 0.08149169609417622, 0.059127823028431524}, 
					{0.004422012479817584, 0.003261924460843925, 0.006558458759106892, 1.8973422874434415E-4, 2.0616674218886176E-5, 0.07910893084171014, 3.3832770155310747E-9, 8.391026415446309E-6, 3.030445930940976E-4, 6.71433173238754E-7, 3.3677473054905053E-6, 0.2267209823688331, 0.013124236742247691, 0.07180764870499146, 0.03993372456661061, 0.034395781539141794, 0.03333654393961393, 0.008458063056058765, 0.03803967293221131, 2.0321032373580915E-20, 0.2104853955170228, 0.009806382564165338, 3.0194412796597842E-30, 3.787700018488802E-7, 0.20231452070974978, 0.004487001392131316, 4.6674082842785245E-5, 0.0033389195971654166, 2.9224014444812663E-17, 2.4406912719286333E-22, 1.9643573564571734E-4, 1.491017059085668E-13, 1.4313209245044725E-6, 0.0019677707052104827, 0.00766128012757509}, 
					{5.183026245068129E-4, 0.11046866372052638, 0.03749547530813108, 0.005440367107811845, 0.22296584201373418, 0.001312754666126554, 5.383909368321666E-5, 0.0016728068855026976, 0.06318360866215367, 0.10897412200905966, 0.0018245558552002746, 3.354119215823538E-4, 0.02588920702098615, 0.002312567053709493, 1.472584589873263E-4, 4.634536417062692E-6, 0.008748477503555206, 0.017544983572343863, 0.01760511787371922, 0.018426698479182668, 0.05488639424146398, 0.15055023513320206, 1.532057805560343E-11, 2.94391871598868E-4, 0.020400940792103386, 0.020505107073643433, 0.01777892716464113, 2.041960571515411E-6, 0.026532228048122268, 2.913549592311011E-6, 0.004543387452287223, 7.058682736829396E-4, 0.004428872382344591, 0.004484436642364695, 0.049959561032141456}, 
					{0.34339920427229625, 0.0010487944720209421, 0.07209208218650837, 1.0041896199801312E-5, 5.716126522849816E-5, 0.2254859765219669, 2.674829078247026E-7, 1.601023235323191E-6, 0.007232422496561323, 8.387451180369085E-6, 1.630432227800985E-4, 7.806144629374047E-6, 0.015284573462459358, 0.008417772078873651, 1.4731771270658243E-6, 1.0686569240255337E-7, 2.859415700896095E-5, 0.00252285621943321, 3.1642079650767354E-6, 0.024745207416126715, 2.7697577030057822E-5, 0.1229232084357932, 2.7701064169643026E-16, 1.6844563482440846E-5, 1.557814935288575E-5, 2.5139038588155425E-8, 8.914838274887065E-4, 0.017639726446210827, 0.06769127764515377, 1.0405877618779425E-5, 2.782707433747651E-4, 0.014380775403184151, 0.0650011622198811, 0.010586977009023219, 2.6030943165672386E-5}, 
					{0.0021712498285882337, 0.06296498103976238, 0.013136623718410933, 3.0083211231031364E-5, 2.55819474708227E-6, 3.358072047571012E-5, 1.5566970128098434E-6, 1.553083736532076E-6, 1.5602880814021572E-4, 2.980212544483671E-4, 0.05285666459952873, 0.00913427857490151, 0.022841833169503462, 1.3633408110901777E-5, 1.546882212739618E-4, 2.1179791749463623E-4, 3.1776463976270945E-4, 0.7171726674460146, 2.344161482110407E-6, 0.00356347895402677, 3.856541803635286E-6, 3.005886352904084E-4, 5.607339534883447E-14, 0.0013311540970682195, 0.05772986847139345, 0.005348373355635581, 1.182740394056464E-6, 0.005100142692723455, 0.011425432136926551, 7.716169789039614E-6, 3.368205864391806E-8, 0.002669743042899581, 0.021625505688790448, 0.00938743630081854, 3.5787956995923735E-6}, 
					{1.0073423791085296E-8, 0.043515587097379946, 7.604442820900127E-8, 0.0368807689052518, 0.047364612531305375, 4.661173690534059E-6, 0.0018884018969605033, 3.0821140855715536E-4, 0.09025981424117054, 0.0025795864037499237, 0.07885729635236331, 0.0030112370745641196, 0.08526122074803119, 1.812338940411491E-6, 0.0064546125705707835, 0.020601715049979694, 0.006773826677711938, 0.012595453626798972, 5.861955243225506E-5, 0.2050098572736554, 0.03214054894947796, 4.2634104273170587E-4, 1.2870699343645183E-27, 8.818911294578257E-8, 0.00976823991637954, 0.07957622254290997, 3.52166303789491E-5, 2.8321084468743235E-8, 0.018530385703234287, 0.10390381903221385, 6.438766789363449E-4, 0.01965693344847264, 0.008058486196699313, 0.07013780245487104, 0.015694629852531457}, 
					{7.839367614206824E-4, 1.8903183567980685E-6, 4.4320046783374755E-7, 1.5085977000639658E-4, 4.0939410435011214E-6, 3.462661828065149E-4, 0.6256112467826306, 0.09810191065282721, 3.233156700716673E-7, 1.0991010301575428E-4, 1.1028709773894682E-4, 0.002112460836428904, 4.689141709027586E-8, 2.9111915970977405E-4, 4.0992935828528383E-4, 0.0030535144637583657, 1.9614327865110118E-5, 5.579724284435079E-7, 0.07202428708474527, 8.830406018753643E-4, 1.5317816676545455E-6, 2.884722233819124E-7, 1.162657165259404E-9, 0.02849963399136232, 0.01575051569565965, 3.341150860634784E-11, 5.02500996657349E-11, 7.103742397551084E-7, 4.315058089767237E-4, 7.520865193023941E-4, 7.910628006766466E-15, 7.047319309085792E-4, 8.396927705110311E-5, 1.09109084491182E-9, 0.1497592849886929}
					};
		}
			
		if(returnA!=null){
			if(returnA.length!=size){
				throw new RuntimeException("length of returnA("+returnA.length
						+") differnent from size input("+size+")");
			}
		}
		return returnA;
	}
	private static double[][] getInitialB(int size){
		double[][] returnB = null;
		if(size==2){
			returnB = new double[][]{
					{5.52451323958091E-4, 0.00442519412785825, 4.3682724830806837E-4, 0.0017490655116950407, 0.0025383822490718387, 0.01789647633229347, 0.051641441750233774, 0.14575974376040826, 0.0016461074943271683, 0.0051784456834640296, 0.036166597517702806, 0.0044868640855330435, 0.00220249367314024, 2.5247492892084583E-6, 0.22747159719051807, 0.14499131010569466, 0.0026349920559479525, 0.11076562221285752, 9.476362289942477E-6, 0.03170339386132826, 0.013405139748929224, 0.05837802079024489, 0.0030703285891893607, 0.002125880098441737, 0.002541401005347278, 0.045511221795755855, 0.006224997580328045, 0.02331759118929879, 0.03647961569651038, 1.2258500332038931E-5, 0.0026064315255786407, 0.007774541043833485, 0.0042904884517667545, 0.002003076688524196}, 
					{0.012434874711991926, 0.12268218956358308, 0.003113761639067872, 0.0993353556745467, 2.1793048164024315E-4, 0.037034559217597796, 0.01929284465215053, 0.00865796573688019, 5.964275254972731E-14, 0.2505138166858065, 0.10475383667514282, 0.0023978996455586397, 0.002147848544786943, 0.024338539969921146, 0.02477877229238882, 0.037079576504342876, 0.0017503162294806157, 1.1753052298381433E-4, 0.02237273886294996, 2.859358818596001E-9, 0.002933467966918218, 0.00116020010520244, 3.86302626937886E-4, 0.0016741444079913324, 0.05371925860815839, 0.004343037015558069, 0.0712899130247322, 0.004724032536916031, 5.775365058313057E-4, 0.032104792716236716, 0.05115756612461336, 2.105699080377416E-7, 2.877597568126481E-6, 0.0029062997231888905}
					};
		}
		else if(size==3){
			returnB = new double[][]{
					{0.009368789692847537, 0.05699892803271738, 0.0020344154537532814, 0.08216140618698893, 0.0016064210588629321, 0.015829823787962046, 0.02386228321766367, 0.03809270703816158, 0.0010041292340014162, 0.11775745418673243, 0.06084472123202605, 0.00204141953749271, 7.841017464475758E-4, 0.014501746885569902, 0.20957079495133435, 0.1440862033043383, 0.002910088055863232, 0.044764961519263645, 0.006903665235336774, 0.018532089481834598, 0.00695837204708259, 0.01889212922277404, 0.001957312373741304, 6.945645893990988E-4, 0.00898310896106793, 0.014463076915669674, 0.02869443654290884, 0.021656891916405647, 0.015033531936949734, 0.016948887477321796, 0.0018277176789535355, 0.0061920277494527335, 9.877413759378838E-4, 0.003054051373136994}, 
					{0.004317248605248768, 0.0626838122976682, 5.588389195300923E-4, 0.015334488668748439, 0.004123371564286356, 0.024892783177637944, 0.018522175893530425, 0.16787116851343212, 0.0020018406280493256, 0.04960067171696747, 0.02074159428843685, 0.013429198119091879, 0.008190867216480975, 0.018889792084937775, 0.07721914596336858, 0.017526979854187677, 6.449272011408941E-4, 0.06998797169615906, 0.011540346078648456, 0.045920448620108696, 0.010603199274656276, 0.0699618758110565, 0.002910125775361733, 0.001589042997149798, 0.031020319802028955, 0.08610347031217824, 0.08701032833168265, 0.009928084922322574, 0.008676785949501532, 0.0033733253247730005, 0.04931319916779475, 7.017657172789084E-4, 0.003772835572358204, 0.0010379699341966859}, 
					{0.0013527525280809902, 0.04633006462446406, 0.0013920611650543697, 0.0019124810670643254, 6.312244522343077E-4, 0.03918701637390138, 0.06689554085541026, 0.12216697842705437, 4.4278841040834354E-4, 0.11671493300529802, 0.08498468728896398, 0.0017344231579790679, 0.0015498094700832686, 8.916661493049525E-4, 0.08186009286822965, 0.07861096521359383, 0.0023824715308535887, 0.08691419541746977, 0.011787681608270631, 0.008005657536119407, 0.011136699398330972, 0.03961139525159245, 0.0015556900980267302, 0.0033915576052185666, 0.04020263351585577, 0.02281750494413081, 0.021404762127796118, 0.00966202711123094, 0.03532628629335816, 0.011820085233039537, 0.03790188781639386, 0.003682829934314612, 0.003863281375407922, 0.001875868145465164}
					};
		}
		else if(size==20){
				returnB = new double[][]{
				{0.009087447112447862, 2.157663376427611E-4, 0.003450230558390036, 0.014578438672927302, 6.537944263717917E-4, 0.048395533598529744, 8.423298777543236E-10, 7.895181195231801E-8, 1.7318695816316256E-24, 0.8374233570919177, 1.4490312095049287E-8, 4.8768342898325753E-17, 6.032138560684877E-30, 1.0369249930656764E-10, 1.9743536899425502E-9, 3.78234797903145E-7, 1.4918632445003114E-23, 2.1683108134996268E-13, 4.5758148070172975E-26, 4.211058866285729E-20, 1.3884022235048621E-24, 6.196810522950844E-7, 3.341898301004497E-4, 7.558918847869313E-4, 0.05614951274014773, 4.548172290210992E-6, 4.0592480141115223E-4, 0.01765936203056008, 3.5240706075682584E-4, 5.90169428986526E-6, 4.896618441966933E-4, 1.244577757749971E-4, 9.136180700833909E-4, 0.008998862018807393}, 
				{1.1078829280997665E-13, 1.6573929709316342E-15, 5.848058139944621E-10, 1.603889265960791E-5, 4.785414507503838E-7, 3.6700617234638725E-10, 0.0025591528915702676, 0.8623588898828864, 7.64309918007679E-71, 0.002696726099030925, 0.042277865671524355, 0.002704835232419995, 5.806197612998473E-7, 1.642460875436014E-16, 1.1873445781305754E-5, 3.345738725800653E-8, 3.252382132593433E-22, 4.644374727704546E-14, 3.639323216458504E-35, 2.124385856956579E-17, 0.07804584802244083, 2.8716816445864536E-5, 5.216770172619637E-6, 2.9697010670421053E-8, 5.559882681751937E-12, 5.428918897699133E-9, 8.819602359004431E-7, 0.004031682152483087, 0.0010731270323693825, 1.0626103909814524E-6, 1.832124244852712E-12, 0.0015228432629308354, 6.720263646275975E-4, 0.0019920841881380666}, 
				{0.004590512497137035, 0.003517711605894711, 0.0030830145372247653, 0.002000969308175348, 3.856497938151684E-4, 0.02812283600468522, 1.5217083361002665E-20, 4.96979712937116E-4, 1.7701463477836004E-39, 8.056430695637693E-5, 5.394208044531922E-12, 7.307187609439E-24, 8.70524405532989E-15, 0.001496416071661888, 0.0010384131109219758, 3.1518809798697036E-4, 1.0247073255455134E-32, 0.004772482572358682, 8.853724910251892E-5, 0.008605555773905897, 3.412206462969071E-30, 0.18491796395563934, 0.001344515325276324, 1.7260110919413373E-16, 0.7542068247138051, 1.7908205926637386E-12, 2.3916182495194592E-4, 4.1387376372281415E-6, 6.650237469083901E-9, 1.1071442313815715E-10, 6.924984282776477E-4, 5.842026706593885E-8, 1.1828960552590844E-9, 3.399506336401407E-13}, 
				{5.110485419817892E-4, 6.79773359751847E-4, 3.6739058979915357E-4, 1.2835003827203404E-4, 5.871207547234236E-10, 0.007301169175620165, 1.8914875166383583E-14, 2.211779051604385E-5, 1.1560443140985674E-37, 6.310129436550202E-5, 2.679380214764536E-13, 9.414986538445356E-13, 2.438878107629322E-14, 0.001643283561937547, 1.314069785665202E-10, 5.807058518748287E-11, 1.1521748381817586E-20, 1.203396470171203E-11, 1.368841682717509E-4, 2.740089827540817E-20, 1.667111405235469E-35, 0.00100256047930055, 0.0015561944422734534, 3.996744113357217E-20, 2.2177591150018614E-14, 5.3086904731862954E-5, 0.4763154343257676, 0.0019041809566652187, 1.5879517153265515E-5, 0.18968116528953727, 0.3186103377051051, 4.762488283909275E-7, 5.6735978698711994E-11, 7.56476347834429E-6}, 
				{8.508756422622624E-4, 4.197297866381504E-4, 1.006465718571801E-10, 1.4391341355477172E-4, 0.008362869429452332, 2.5970689175104264E-9, 0.1611584902382066, 5.068508407834716E-4, 1.321197723286892E-38, 3.522209776243232E-9, 1.10373964284198E-12, 1.7579756284464316E-5, 2.1568186607411235E-20, 3.6872549363736646E-5, 0.2473115285621013, 5.430422640296472E-4, 8.124356272289559E-4, 0.578827303103023, 4.105404460643523E-12, 1.3059959782452094E-7, 3.408253087808957E-51, 9.519760292424496E-4, 3.2660416298673935E-9, 7.609754076362605E-8, 6.606407339822087E-11, 5.079185583363542E-6, 5.121394981928879E-5, 2.2763014703105798E-12, 1.5363250442768464E-9, 1.7511296943088046E-13, 2.182926775706962E-8, 8.645450838691831E-23, 4.25048319620972E-18, 3.4188085188459946E-15}, 
				{6.159511135251245E-4, 0.014839877322547353, 5.1913071284932476E-8, 3.082990419442495E-4, 6.609985713770739E-7, 0.0022411136470007853, 4.440009451809999E-5, 9.147300926433688E-6, 2.0464165505393047E-19, 1.432027418776162E-4, 0.006779288570903262, 2.720233729671494E-4, 3.7160047865629794E-10, 7.061699086972512E-19, 0.03926122728941524, 3.0703111130128853E-7, 2.9289163516681653E-4, 0.9212813571377788, 1.3760202975869368E-21, 1.2236989080994198E-5, 4.3493670388191875E-45, 3.967276565249775E-4, 1.718807411882165E-6, 5.426222416638351E-4, 1.3114761103536439E-18, 3.6426521801713912E-9, 5.745926411542295E-11, 0.0026306323024693984, 0.0013177614012869314, 6.0450378639729094E-5, 1.3367139813704973E-6, 7.559732676467387E-4, 0.008190736958257122, 3.583404123227926E-16}, 
				{0.03357918133993598, 0.45762186651409015, 0.0028344295533020807, 0.4943367587124604, 5.842906868538955E-4, 9.890588950961529E-5, 4.4766218831287503E-13, 1.258177647823064E-10, 8.206050414256579E-36, 0.005180885750007656, 3.506657377669324E-5, 3.7480384484829124E-14, 3.798120456297275E-27, 5.357232305825015E-18, 5.925776912930223E-4, 2.3575206114685763E-6, 7.495639327230782E-12, 7.904183849693805E-6, 1.3258460420640891E-19, 1.3728088116040136E-20, 1.8581770121946143E-29, 2.527149408398276E-7, 4.670421097635883E-8, 8.432801501955557E-12, 4.000813468894783E-6, 7.131942664422622E-10, 5.174938145941042E-5, 1.8896623259630175E-5, 7.55328871467145E-5, 6.350871385211088E-8, 1.1228994291340855E-7, 6.951322329523382E-8, 1.4875771845879402E-4, 0.004826292574058036}, 
				{0.004219600411979049, 1.5118547199976216E-4, 2.9091710935212373E-7, 0.0017930778512671036, 1.4903013794926166E-4, 0.036834122817908675, 8.295745037744078E-28, 7.328151527735966E-4, 4.0774411132249437E-69, 1.7227607469503949E-10, 9.435996828967834E-19, 2.654195082630654E-26, 4.787963753811745E-33, 0.8963639070095367, 1.4615286092088713E-9, 8.608028226452543E-13, 1.0054329824373199E-10, 2.4960464948172964E-6, 3.8442674809638635E-12, 6.133418159051836E-18, 1.8259114143124446E-65, 4.946290749759422E-6, 7.938137630817074E-13, 3.405329506344331E-27, 0.05284511913933266, 4.090238144033941E-7, 0.004381215031957707, 2.245907392544698E-14, 2.886427413760229E-19, 3.2819980823212096E-9, 0.001123475386128926, 7.451554202225812E-4, 6.531488294583679E-4, 3.944974464557075E-11}, 
				{0.02410244603881942, 0.22649299342015275, 0.008192482674495287, 0.06542524065125498, 2.0243043504492028E-4, 0.21134110330451175, 1.2818028524049422E-9, 4.51487005385885E-9, 2.5701557098469815E-42, 0.21015507570317904, 8.807208611809982E-8, 1.2562134937102575E-24, 3.44765436644658E-37, 3.067072961457701E-32, 8.267375509602881E-6, 1.5466687142353647E-4, 6.751031810650191E-9, 1.414306778650466E-10, 0.21997317286332352, 1.2268232698359412E-27, 2.856179864065536E-22, 3.706743039006429E-12, 2.1378739176074134E-8, 5.957912761771344E-22, 0.006128897178553096, 1.5084137568842388E-8, 0.025249984417269163, 0.0021132153280510376, 3.576657578924751E-4, 6.705919666688167E-8, 9.303521728348288E-5, 2.518751866648339E-12, 1.4421491972260574E-14, 9.118473701289596E-6}, 
				{2.562923880290913E-5, 2.8841981843561224E-5, 3.408057620935924E-5, 1.6683979465415418E-6, 2.0771189426275438E-5, 8.327945410713946E-8, 7.539264498413336E-6, 1.2175151401759186E-5, 2.679354986853631E-41, 4.89957554495053E-5, 8.772193753510248E-13, 4.996556890102357E-10, 7.442407951895535E-24, 4.0003320980346534E-16, 3.797535509487101E-5, 1.5891864718384753E-7, 1.0312768484932865E-38, 3.846262512746433E-9, 2.4488637030281E-43, 0.0017164983755981662, 4.617657645217632E-19, 0.003804574514358286, 0.0012108268519594838, 2.772605878344542E-29, 2.0855675712611486E-22, 0.9923186120898227, 1.632373960333727E-4, 3.0905181430942904E-4, 2.013630439104849E-10, 2.6224703243306394E-5, 3.200925021955011E-7, 2.922646666506976E-8, 4.43989859459458E-5, 1.883022928270939E-4}, 
				{0.0011881873343725985, 2.7808029069360884E-8, 0.005464425493402127, 4.3293167816654686E-8, 0.006161585467748195, 0.3114342364030323, 0.026976221879828254, 0.001226781684470935, 4.077004814510526E-32, 0.0034243145623026904, 3.3591634471165756E-4, 0.0010908440962438344, 0.01443322639661079, 0.002568166321242388, 9.494746933245834E-4, 3.1532203533300594E-5, 1.0126788365259596E-11, 0.04482484746260486, 2.946978781043176E-26, 1.4992478866567962E-4, 3.737500078319014E-24, 0.3943386572109723, 0.008180701727224649, 3.8443657105098686E-13, 4.034160221082185E-13, 2.052441398595819E-10, 7.517916028118444E-7, 0.14285509564770535, 0.005044423791655156, 6.979466891716988E-11, 3.081914333960661E-5, 8.584396197234757E-4, 0.002891330897743524, 0.025540023650788442}, 
				{2.4774747493804905E-4, 9.498475895826238E-6, 7.629163527621967E-5, 0.0015661770766406359, 5.965726251540229E-9, 3.729087113453201E-8, 0.0062605851607141095, 0.005923867426071689, 4.3806663364081677E-13, 0.033212618172533195, 0.10357047403817514, 0.012720527306700358, 7.07550478257798E-4, 2.8909219095721767E-12, 0.01607356001553652, 0.0041427004144490055, 7.82001378855234E-13, 0.0460754114253548, 5.962401200982999E-26, 0.036937041414453614, 2.2517471074814098E-25, 0.27642935442595223, 0.01878792758140379, 0.02875318168049443, 1.833174552811028E-4, 2.8640390621636574E-4, 0.0021661333175546312, 0.08613044803613161, 0.3183831000996774, 4.0643142390510663E-7, 8.43835594918403E-6, 5.160193539520201E-19, 3.737333127777032E-4, 9.734616214322404E-4}, 
				{0.0118062127622213, 6.165562986964032E-6, 6.393003714868612E-4, 0.0021014936386345366, 0.007945688888124759, 0.009323903680518048, 1.793573112107797E-6, 5.195382238117164E-4, 3.1941017617582577E-38, 0.007979171912302829, 0.35512309820711835, 0.06930318411481769, 4.0674518745461865E-6, 6.705775679176581E-19, 0.40174335055974447, 3.5964308071584865E-4, 8.57890189152608E-12, 0.01841603172242145, 3.1319126109764865E-11, 1.1270945590707781E-11, 8.876612721632845E-19, 0.005800478336330739, 0.027687027326023995, 1.292564595404215E-4, 1.307575050357621E-9, 2.4111510057594305E-9, 6.445628069728938E-5, 0.002536719090685457, 0.0784736644453581, 5.1599041653855036E-9, 3.140124811134451E-5, 1.1209109919250547E-9, 1.3067566986723622E-10, 4.342881975505701E-6}, 
				{3.639291859925567E-4, 5.648171098552751E-4, 0.002876045516581434, 2.9341693986490435E-5, 0.004237496047409531, 0.008310595363021398, 0.00886433246537473, 5.933576012529766E-4, 9.995694261489748E-27, 1.1154748993995108E-4, 0.0013011261739702107, 7.330146857106142E-17, 1.75408827879632E-20, 3.88947510852205E-7, 0.010287902775632568, 0.9354628050600363, 0.021029567374244065, 2.1770201727672475E-6, 0.0017283295715586448, 1.21123934875789E-4, 1.4021257805998125E-26, 3.2689753455565293E-4, 5.805497695470295E-19, 7.170479468239571E-19, 3.809818121048822E-16, 3.140174506276974E-7, 8.123843688987539E-4, 3.2484972837036266E-5, 1.1316362900427156E-4, 4.4072283685509147E-14, 0.0022121205963868537, 5.347262981825054E-4, 2.444695482719834E-6, 8.058055574119015E-5}, 
				{2.2085120587984949E-16, 4.936038682620898E-10, 2.2414787415480207E-7, 3.560490257966698E-7, 3.4702575464813074E-14, 8.310693562533892E-15, 0.5299735116631956, 0.01558460039860181, 1.1603706221362334E-17, 0.005025516525149733, 0.07928002527618223, 0.013737290217584117, 0.026623122273681105, 1.7289999497865663E-11, 0.0051492842181810215, 0.028702554783068136, 4.1988636699293614E-11, 0.0023807244064505406, 1.0876706098652955E-30, 0.014536475951459803, 0.005726060711811649, 0.011974880660486274, 4.4919937762247545E-13, 1.8635564213943372E-8, 4.361887074028333E-9, 2.3800866327701987E-4, 9.732647169785226E-4, 0.22645920114923512, 0.020543104263584612, 1.4517171107021136E-9, 1.4191359954915795E-11, 0.008389358705263434, 0.0037211180232634504, 9.812921789108969E-4}, 
				{5.475159401789935E-4, 1.0282594365923914E-5, 1.1920476735469E-10, 1.5694645116974962E-14, 7.228040942456566E-4, 0.028952946830321506, 5.218313121934163E-6, 0.052122047644986555, 0.03510547417215191, 0.0018846940221163586, 0.0050302556802869535, 3.71713573815962E-4, 0.001119515647223617, 1.4661714750539552E-8, 0.0238475248644552, 0.0025257513370758647, 5.797065312552218E-10, 0.10706280887178402, 1.4852656827169953E-27, 0.5778759990825268, 2.8655899140444487E-46, 0.025709811728791717, 3.989234407560033E-6, 1.0308204936311852E-19, 1.156732765676843E-38, 4.5779019530499973E-11, 4.180489093869626E-14, 7.840212047344616E-4, 5.0387985624127206E-5, 7.186176575904919E-10, 7.150996184431693E-15, 0.0835101453740902, 0.048578627861985, 0.004178447816622268}, 
				{1.8547148803107073E-7, 1.5281896456641582E-13, 2.0300292103763464E-7, 5.3391136777225216E-11, 2.50400057708452E-13, 1.0006153985108678E-15, 5.422523465469383E-5, 2.435471027201328E-4, 2.2629688734297717E-37, 3.201555046112011E-12, 3.136037054881938E-4, 2.6525318537444922E-6, 0.0011316381792952906, 2.342766278644021E-24, 0.8888127363891172, 0.003068467252651574, 0.0016754252347815086, 0.10462886354473028, 4.114349785301756E-23, 6.789431630389395E-8, 7.241986743802897E-30, 1.7391567424358845E-11, 6.6233944104657E-10, 3.968866299816302E-5, 1.0020066724190455E-26, 5.588597129700647E-14, 5.684004676724699E-12, 1.136279382197047E-5, 1.8705932783458466E-7, 1.1093933314391985E-10, 1.7145085096078617E-5, 1.0364491044850424E-18, 1.3303116720594424E-12, 2.806248266725129E-26}, 
				{3.7093177760652126E-10, 4.584372924920427E-9, 4.746295864334315E-6, 6.832519134202769E-7, 1.2250310833585015E-4, 8.928384882556123E-7, 0.3454495085789274, 1.2837422416742131E-5, 9.422792643716424E-56, 6.037755407371381E-4, 0.3211848062127396, 0.014917332400930067, 6.493427294545987E-5, 1.166773990045402E-17, 0.22659116681969166, 0.0484513523644034, 1.2661258808954653E-9, 0.00244694758172142, 1.0604892150360146E-22, 5.291565023195269E-13, 0.02113507249167876, 4.3654543645125224E-7, 1.5127368597038362E-20, 0.0017572594306690796, 0.005651441606032507, 5.398232717685536E-10, 1.0783516429043761E-5, 0.0019172440969819867, 0.009676268313384489, 5.472194513665177E-10, 1.703240778345028E-15, 1.2919377120484073E-13, 1.0742528931906266E-12, 6.538657620364484E-14}, 
				{1.1015002421740014E-16, 9.596594671034967E-15, 4.576432995626968E-4, 1.1826260745333412E-8, 7.533138782734566E-5, 7.44904490948779E-9, 0.08162239701229328, 4.026594859796904E-4, 5.830029995234588E-87, 1.7619608101126951E-12, 0.6849336056745098, 0.014259169209331079, 0.025174286087508116, 3.101956986919542E-23, 0.03178574345086588, 0.10791862899574567, 1.965553903961073E-14, 2.36291467027287E-10, 1.7605781988821345E-25, 6.679320549367918E-29, 9.917656078237838E-4, 0.002131073022258897, 0.002160547825178076, 1.936590938956069E-17, 8.018798062996582E-22, 2.011355422480544E-13, 6.436742921461905E-9, 0.020937695500946967, 0.026508931362507277, 1.9540217895989414E-4, 4.171715837347481E-4, 5.572414847052964E-23, 2.7922364634681893E-5, 3.723973157888167E-23}, 
				{0.01943682442210814, 0.4656428351211003, 1.1231661501059765E-9, 6.965580873324065E-4, 0.010401606320249895, 0.08983702219976905, 1.767793262371494E-8, 1.491404354538899E-7, 2.6459564686957545E-20, 2.0089336202821805E-6, 4.2216195987149776E-10, 3.768544877282251E-8, 1.9389282970278018E-21, 2.6055127122815994E-8, 0.008803482754465904, 2.5695513065047635E-5, 2.6573163363256083E-8, 0.03424866275687753, 3.289663948895726E-5, 5.793964835636013E-11, 3.59580537190798E-44, 0.2301029476561191, 0.001890564209093439, 6.275735502041223E-13, 2.6439959453366745E-22, 1.3165615507212178E-12, 8.187816745483178E-7, 2.3257322217562928E-8, 0.0011910422454201855, 8.428977346948148E-6, 1.0172006067225048E-4, 0.09938291319438611, 0.03819369013256841, 1.2562562767829727E-17}
				};
		}
		else if(size==30){
			returnB = new double[][]{
					{0.0011669301740135176, 6.252157166071645E-6, 9.894324126572054E-4, 1.7863264172262607E-6, 2.893163684170547E-5, 5.244388714521035E-9, 2.289505007940862E-5, 0.012868996287253933, 2.9581204397291006E-4, 0.37230752966055347, 1.7978044616007408E-5, 1.986188707355198E-9, 0.0063395603046540305, 1.0323926014826078E-4, 1.105337875947854E-4, 0.002256989478294906, 7.984713379789101E-22, 1.6166601638583871E-6, 1.4193691307734095E-4, 0.015711729214132143, 8.145225373850332E-15, 0.15627118470947726, 0.001194776209602455, 0.03593131054228349, 0.0058822489315716354, 7.142911601498189E-5, 0.002580769311588145, 0.2231381642654966, 0.12161481838511433, 5.877098065336914E-10, 2.783292616404558E-6, 0.00602021948234847, 0.010530418420658511, 0.02438972010329551}, 
					{9.66603614343137E-4, 0.10545883125650585, 8.786994835587344E-5, 0.017127325888577846, 1.0120018289789981E-7, 8.813666780102107E-4, 9.127146067959549E-5, 0.005384119221944881, 7.662595721523547E-103, 0.0067260771676887305, 2.756785155078576E-5, 5.2895426882871505E-21, 1.5992374988828952E-40, 4.604455922093993E-52, 0.01760753532103021, 9.975824041806742E-6, 8.272503420715943E-10, 8.610739907642395E-11, 0.8258905971727357, 9.95706428561043E-35, 2.63978487401084E-16, 1.8469749426772042E-15, 3.159956696547404E-27, 5.632805982527959E-46, 5.665167498683529E-9, 3.609772028705076E-11, 0.015958958588230387, 0.003751373821495938, 1.9340511205258617E-6, 2.5459924400125433E-12, 2.6992942388536685E-5, 1.1747193468843061E-18, 3.7301310121952676E-44, 1.4913739460011515E-6}, 
					{5.802576383357627E-4, 1.231120528290611E-4, 2.863881500123088E-9, 3.063646953965928E-9, 5.9017639208652705E-5, 6.008779679054652E-6, 0.008969466980104961, 0.0021760553499751874, 6.045852088914979E-4, 7.468191205734542E-7, 0.012892193826431387, 1.3954270353310853E-5, 0.005264337713634116, 9.392632986144537E-9, 0.7404291796246171, 0.004665963520201677, 2.047014500896833E-5, 0.12645852978535518, 2.8736336527837575E-11, 0.058733701578766624, 3.439535390935759E-30, 0.02925411766304952, 0.004475000070396657, 7.454542617281613E-12, 3.846552913353945E-18, 5.555161149405908E-5, 8.237752560777618E-12, 3.14287926106601E-4, 6.134226427384297E-9, 3.032050797387866E-14, 4.693837607605138E-8, 0.0015929977707045432, 3.3188583933608563E-4, 0.0029785097491767457}, 
					{4.269549874681142E-12, 7.997663360889864E-8, 1.9047712492805618E-6, 1.0382389541968078E-9, 2.8926585707316525E-8, 1.1443576410275087E-11, 0.8923347766840973, 0.005720823020205407, 1.1665168155366973E-25, 0.024091294839187784, 0.04212589955670988, 7.877282297655684E-4, 0.003643415796644706, 2.16777721261161E-4, 0.004396650117113551, 0.0181229166746507, 4.943578041571143E-24, 1.3385969675118869E-6, 7.799913482765978E-28, 3.852620053569197E-12, 0.0016008907037797946, 0.0032874056764546386, 1.3017055467496974E-15, 1.2166551886094242E-7, 9.179665799423704E-6, 5.024058184699292E-6, 4.524084332958133E-8, 0.0014900554210017405, 0.0014664068562189987, 2.92402356918656E-11, 2.2860697150419589E-10, 2.9741472833793073E-4, 3.998197556533713E-4, 1.4817581962672842E-12}, 
					{1.8237754632253684E-6, 5.869205752965065E-15, 3.0843744365894896E-10, 1.9412590474669664E-5, 3.3710993422456443E-7, 9.58461375276265E-13, 0.002405101708786057, 0.844657373546537, 2.0151580528896524E-57, 0.0015339932129824034, 0.028253606386767167, 0.0038569032781183648, 9.521402615231689E-8, 7.952184197482377E-7, 3.344862456162866E-5, 8.240571394889297E-10, 1.2238868555573506E-24, 1.5398187804984882E-6, 9.836866901983815E-37, 7.881402573932777E-9, 0.11795214239171004, 1.3719783260178867E-7, 7.963461282976833E-9, 9.316101396505233E-7, 3.345190749839145E-8, 1.6875866093928524E-10, 1.0702720200089572E-12, 7.33925916497141E-4, 1.3942489628287469E-5, 1.4832510226011276E-8, 4.043416719875017E-13, 1.4617552954689206E-4, 2.148367114728756E-6, 3.8610057970552393E-4}, 
					{7.640516140301529E-6, 3.110391511482699E-14, 4.897195259969898E-4, 9.932065600645146E-6, 6.659491399724808E-8, 1.3300093184990679E-10, 0.0011085561695790055, 0.9286280664023914, 1.4279917980867387E-52, 0.015997886062476256, 0.015614299921113305, 8.304179501765237E-10, 1.3553955050200055E-6, 1.4251782254414404E-6, 1.6524109286448916E-4, 1.2858726759444867E-5, 8.875769616222634E-16, 1.694160416534541E-5, 5.580212102498683E-38, 8.602067570552734E-13, 0.014188416611260144, 5.6907266593397087E-5, 8.906133304789757E-14, 3.0237380982530604E-16, 3.4282902792059786E-8, 2.8754980856118555E-8, 3.0837106956098454E-7, 0.01687399789570397, 7.604416163416806E-7, 5.7271838110366645E-6, 1.55764643558293E-7, 0.0039714128650698115, 0.001000606319077063, 0.0018476540231394244}, 
					{2.8214546823008375E-4, 3.855576712970443E-8, 1.2735478647072715E-11, 9.930448775994546E-10, 1.0577179550400279E-8, 1.9279784589589638E-10, 1.3594464936542134E-4, 1.5226826219661566E-4, 4.0276798866759225E-35, 2.570008406907771E-12, 2.233259577847385E-7, 6.723486623300109E-8, 0.0010795407991224361, 2.591989241093993E-6, 0.8423823767805124, 8.761818774276405E-4, 0.0030513331202598193, 0.150994983256165, 1.2127239377748794E-27, 3.5162234597945915E-18, 1.859959145996137E-46, 1.4213003641364705E-7, 1.2214837242195705E-4, 1.0250848743820552E-4, 9.036415546277079E-22, 6.014591966547883E-7, 4.8598820226608187E-11, 5.78968809188681E-4, 2.4914507474975912E-8, 1.7636919493559192E-12, 2.3788712660530474E-4, 9.338518290734563E-20, 1.1552803565286955E-8, 1.3033588781764986E-32}, 
					{1.0490633535314153E-4, 2.120961813143592E-5, 1.4427476286247567E-4, 0.0052374832908390345, 2.5959715883417505E-9, 5.592486895418115E-7, 2.7635844405794302E-5, 0.0015683927675296738, 1.1119662536627003E-14, 0.004028483554833904, 0.29429181245286895, 0.0308651709807554, 1.71667805160214E-6, 1.2502553939031449E-19, 0.004277056672889503, 1.8258432279273515E-4, 1.9443587584778478E-5, 0.001524027449550702, 5.705490788122199E-24, 4.6247749472516024E-4, 4.947240496387897E-30, 0.017727782319941383, 0.004811414486095649, 0.010342185518886153, 9.213041022408009E-11, 4.11765519513271E-6, 0.0038506216807624124, 0.10353650621736848, 0.5168717608755812, 9.76860557554884E-5, 6.873945447345977E-7, 3.531437007654406E-26, 4.5445306146068354E-11, 4.4715725350971786E-13}, 
					{2.6271149064518356E-12, 5.000116856056376E-8, 1.2429139886621543E-4, 4.0652804678309474E-10, 6.07214982061722E-4, 1.1809434173384854E-6, 0.0026818363426739334, 2.594123454577533E-4, 7.748976226195288E-11, 7.465265943772442E-11, 0.002266694893767611, 1.019512018286103E-20, 1.3406070057791772E-20, 3.2116438857686163E-27, 0.002811045463854695, 0.9748020861554958, 0.016157866845524952, 2.0640148960564307E-5, 2.695663959853719E-12, 9.886878946126583E-5, 1.3599676236794713E-23, 6.649268052907041E-6, 5.946696962494015E-24, 1.2117837548857433E-28, 8.500152921498726E-18, 1.0972031285899153E-4, 1.955397577587192E-10, 7.403837364571224E-10, 1.374137848069278E-7, 2.616845959331647E-12, 2.8631923715506022E-8, 5.2262270908602255E-5, 1.0946333647686864E-8, 1.3428928210417056E-9}, 
					{1.6770442946476143E-4, 1.1125896371212677E-4, 8.235614053859172E-9, 2.543820800451222E-4, 0.017789150651945362, 1.7492907656274916E-7, 0.5704467038436065, 8.41334857520147E-4, 5.619254653358773E-29, 5.951115123926411E-8, 1.3713644943874296E-7, 1.2780549352872116E-4, 3.96125427266134E-11, 8.587774856998023E-20, 0.40103501666651664, 0.0013154203663778548, 2.5046399046108563E-4, 0.002038107658321432, 1.526664789163897E-23, 1.92394603040718E-20, 2.1507555174390722E-35, 0.003946944362356775, 1.0232914513854291E-13, 2.7735351946546152E-24, 1.3456605460969055E-12, 1.6200900155350936E-7, 0.001626321301204858, 1.9078775729766762E-10, 4.849956110122823E-5, 2.61867990472755E-7, 8.185263675733511E-8, 2.0335635469093698E-19, 6.872331274534299E-14, 1.685574384122241E-20}, 
					{0.0010429809023202938, 6.448912377791877E-4, 7.738468580234781E-8, 1.2852932991646135E-5, 0.0025507012784489235, 2.764435485862875E-4, 0.008477498799601071, 6.687072889256724E-4, 1.2863857916561144E-19, 8.690463522597357E-11, 3.8106147047211033E-6, 3.2311966880746315E-4, 9.140570833995382E-14, 3.862469137436334E-12, 0.058792836072228474, 4.9439155967197455E-5, 8.699857270488331E-4, 0.9258270619099838, 1.0326079774692237E-11, 2.4124654469501916E-10, 1.3044858088146901E-40, 2.640930481876733E-4, 1.9191251691328963E-4, 5.644898750116747E-11, 6.810579039552158E-14, 2.7405967590244503E-6, 1.305931010916289E-7, 5.711665143585023E-7, 2.1946754384186536E-8, 3.33543132707241E-11, 1.2314616366501006E-7, 5.2408779926990185E-17, 3.122461493700653E-11, 4.5112982450018625E-18}, 
					{3.3809554578238425E-7, 1.0232169489045108E-5, 1.634051104827015E-5, 2.0523975634027623E-4, 6.465995051807218E-11, 0.0036672030490340476, 0.14140696033466857, 0.004608616605229854, 8.868300598413445E-6, 3.539705234437769E-5, 0.002074937643346339, 0.02973864652782933, 0.01320916454750593, 9.82095566312275E-17, 0.2485185226597997, 0.05890638460940453, 0.0017068676832352916, 0.24665915623565782, 3.5283319265278924E-34, 0.16058177540637703, 2.542846359076059E-22, 0.0033505511092569162, 0.003272025668559087, 0.009535244136503827, 1.2729227791980472E-7, 1.5059912480570609E-6, 1.6741523798851503E-5, 0.06618852294184523, 0.006234523084819728, 1.2891054702233733E-11, 2.545283593530541E-5, 2.169744324909346E-11, 2.0654048064040784E-5, 8.098764448648665E-11}, 
					{5.114351046877157E-4, 4.839874233867472E-5, 1.0338931268448705E-6, 2.3554978300991058E-9, 0.0027511860800323684, 0.04035730879432067, 6.240324929105563E-5, 0.03380745000940867, 0.02763601037508388, 5.643380885303804E-7, 0.003341139333789739, 3.813754066452411E-4, 9.861219817869835E-4, 2.6997156758808845E-20, 0.030893198318129395, 0.012889140721176128, 4.422230707494713E-6, 0.09680732994874008, 4.807936715820975E-20, 0.44994340981552283, 2.3010663854166783E-45, 0.11381752328163007, 1.2767463014678735E-4, 7.040545547302867E-20, 2.2906801020032262E-32, 3.201489306755292E-5, 4.443270838812331E-20, 9.032626297207499E-5, 5.212900094840311E-11, 7.2203632630367585E-6, 3.4231923787097672E-6, 0.11798433153823609, 0.06449426692119847, 0.003021288166604162}, 
					{0.004107556949116483, 3.9325816342661746E-4, 2.64829221628796E-5, 0.001724973868616341, 1.5073838556200128E-6, 0.009914784204852445, 8.282496097890017E-36, 6.458589295744653E-4, 2.2818728074515753E-74, 3.188517198540842E-5, 9.038561134811164E-23, 4.471492677201463E-41, 4.0117005170256955E-38, 0.9553979852762745, 5.320557644517679E-13, 3.425367678940723E-19, 5.143179481118395E-26, 2.1185522413768415E-7, 9.159256904020242E-26, 1.5499532764187138E-22, 4.368394144775827E-43, 0.0036271887001580864, 2.309660554044277E-19, 5.429142117453042E-44, 5.364666246649489E-4, 3.73370197030243E-4, 0.011560944836522733, 2.948754087389162E-17, 7.409954174342075E-14, 0.0032074000607991123, 0.006518830680821365, 5.184421552135377E-4, 0.0014128520190946124, 7.883423485370353E-17}, 
					{0.005653090155862172, 9.986630932407447E-4, 3.402348900819123E-5, 0.11303208671171176, 6.889896661275509E-6, 5.614161877418109E-6, 4.6352591170729376E-15, 1.7200135581255444E-7, 1.5133467149417007E-40, 0.8342112287951842, 1.9572232181572334E-8, 4.173805082766684E-17, 9.397731929650636E-35, 3.4137000217104784E-21, 5.508100130058324E-5, 1.995995710987789E-9, 1.548806568624504E-33, 4.510210075006577E-9, 4.801022804461521E-15, 5.904640947146236E-20, 1.8001952090267765E-19, 2.4640391320138577E-8, 7.800169417244463E-4, 5.014574262495533E-4, 0.03334595947803354, 1.9253086842953384E-10, 4.520801462497865E-6, 0.007828345118065516, 3.078255984433769E-4, 4.764627954425235E-6, 1.459153851773642E-8, 1.1619404552439583E-11, 5.5337254046656415E-5, 0.0031748579332904867}, 
					{0.006103613778472939, 0.004050867001073194, 0.004705293213584267, 0.0033952092286968025, 3.9154222595365004E-4, 0.04246605534290835, 3.938517555322905E-22, 2.883143676563445E-10, 1.7076287853499419E-40, 1.8193328904665657E-4, 1.627185144656614E-13, 5.3900728214931454E-31, 3.136955667857888E-4, 8.823798789736765E-6, 1.787122787207951E-4, 3.4272919756634203E-4, 9.029051121188487E-39, 0.0035437337263037874, 9.934440607744682E-5, 3.3790521080175534E-6, 4.3735003516113885E-26, 1.0632728196160102E-6, 8.562973030436256E-18, 1.9494557354429898E-14, 0.933854771859143, 1.1248907753091996E-14, 1.5423356298612185E-4, 6.3098945155856366E-15, 2.7360787359511906E-14, 4.034944926848219E-16, 2.049983132001193E-4, 5.949018411024824E-10, 2.319583517032568E-12, 1.2422806281452945E-20}, 
					{0.027632770932280303, 0.41078504002784166, 0.022380169532351404, 0.07675077421403219, 1.4197777302256864E-8, 0.2501514010387998, 1.4554719606597697E-12, 1.2956547965421642E-5, 4.361375188047084E-84, 0.1652821839173575, 1.2213221869198283E-5, 1.4111079553515516E-34, 1.6835820484431736E-61, 8.862719130299317E-36, 0.015005680695101583, 0.0013955250977839122, 0.014914550650165276, 5.706132849951032E-8, 0.002063410014190428, 8.039569092203108E-9, 3.154667261847562E-24, 8.498441829376088E-15, 4.222174326195246E-11, 2.1967868668340724E-36, 0.0029018461216965487, 1.0402653923334437E-10, 0.010271768747408629, 1.4519665608213766E-5, 1.156575315290957E-4, 1.760237782340744E-16, 2.823662518422926E-4, 4.4190690761754705E-30, 9.499698907077948E-17, 2.708634578897941E-5}, 
					{0.0035754367604464874, 9.560708641232391E-11, 0.008959407073780708, 5.120811020489167E-10, 0.0046788486140996125, 0.28317742089767606, 1.0979419860325222E-8, 1.0245497750666448E-7, 4.238421983995476E-43, 0.39780395072527475, 6.373065231176812E-8, 1.295994587621733E-21, 5.382310176263092E-16, 0.0014532426175231734, 1.790345631081931E-8, 2.817783950858663E-8, 4.3748542054545545E-28, 1.0119544490813455E-4, 1.618831536262972E-27, 5.236468945700869E-23, 4.342030505564385E-25, 0.0362543709873078, 8.488614150301132E-4, 8.232274708735868E-29, 2.4690315983506655E-4, 0.003330398177206535, 0.09364973747431028, 0.056676816698210064, 1.033054696005561E-6, 5.992281013165842E-5, 0.07392860193059028, 0.005195401626228218, 9.559667784401843E-4, 0.02910225990027051}, 
					{3.1269482934347017E-4, 4.74655164136685E-5, 6.972780062299285E-14, 1.2774831177900214E-6, 1.522073359398669E-6, 1.9628810060982017E-4, 5.066602744305054E-16, 0.0066491451132079885, 3.642800914696235E-12, 1.496702072422543E-8, 4.072711012546357E-7, 2.2151930543556707E-17, 5.842188846826244E-13, 1.7301353572850748E-14, 0.004573096483508078, 7.786577430309799E-4, 2.38857458791352E-30, 0.006418574628734587, 1.8732924754645737E-15, 0.0416000753123011, 3.895474092031534E-25, 0.8421952615687849, 0.020849810563043237, 1.6204798521414634E-15, 1.3905497808423474E-9, 5.517088831302178E-7, 1.8129562159386067E-6, 0.004728624686070645, 0.07073970014477192, 6.433940092538276E-5, 8.406701240996958E-4, 1.6516254572010642E-33, 4.88228520914311E-16, 7.930588026029214E-9}, 
					{6.876273111254217E-5, 0.001980093168779626, 3.076803060641855E-4, 1.570892832180118E-8, 5.418757527589547E-12, 0.0020033021696944753, 1.0915642156801015E-17, 1.2914429653173515E-5, 1.7190612842149006E-67, 1.4016882758481313E-4, 1.323019888788915E-15, 4.1209520912035664E-17, 3.7028635040010185E-27, 2.9151444802200698E-9, 1.5514553322660755E-7, 1.326693498463673E-14, 8.338963489229597E-25, 1.2731610570863931E-6, 1.3503984528083775E-4, 6.160749089050205E-23, 2.412461111135795E-33, 3.272001756248866E-5, 4.6314008511571744E-4, 8.601296934194378E-22, 3.891352457879081E-11, 0.002798483920984788, 0.31114959887980276, 9.584392973769218E-4, 5.816031824911959E-6, 0.3025612801918144, 0.37737963394910373, 1.4273593578322408E-20, 1.4822968376821055E-13, 1.4791730863940848E-6}, 
					{0.05350256910569181, 0.13022143795740224, 0.01608769137803496, 0.00418758892839961, 0.0025807035639168465, 0.4339327855814305, 2.384870697187587E-7, 7.459650520555453E-6, 6.58188681555084E-70, 0.31839589137223284, 8.215697876484178E-7, 6.99925368915414E-10, 5.297446491283958E-26, 6.60986202264182E-28, 0.0014474403028342955, 1.459889049733256E-9, 4.917614421702081E-35, 1.2217284330981407E-8, 7.922775489941182E-4, 2.776801379587512E-31, 3.86768127761931E-18, 1.2323218259265284E-9, 4.320844518087359E-9, 1.205937173178102E-11, 0.014819175724335533, 3.9038632812431417E-10, 7.186293220962558E-4, 0.01607089803655827, 6.548822670377744E-6, 0.007161224909780261, 7.978879835695059E-12, 7.17482321130363E-11, 1.2646176710114077E-20, 6.659732580626208E-5}, 
					{8.745420465729879E-6, 1.82197916299979E-4, 9.627508801844145E-5, 5.215320261731557E-5, 2.0344687912079774E-9, 8.819581579667901E-5, 8.992147194158273E-4, 1.6756288762347367E-5, 3.46378285676892E-41, 7.101984857751723E-7, 0.4585589126731732, 0.035911813420916476, 0.007103639755049698, 2.1244631293346463E-10, 0.42839808030389176, 0.005160362355659607, 2.126334797557323E-5, 0.00799645203617972, 1.9334939661198614E-29, 7.902287606335374E-9, 9.655012288860432E-16, 6.454829026767497E-7, 3.562660335766937E-6, 7.575031887042639E-4, 1.4941912326016262E-8, 6.637526777427361E-5, 1.1542283555027303E-4, 0.042882693588102934, 0.011659689725204255, 4.464098786057992E-7, 1.8610887265633997E-5, 1.3793950291812413E-10, 2.521825156681637E-7, 2.0688242490399586E-15}, 
					{3.438058011284643E-13, 2.8063546002954298E-11, 0.005123206936659744, 9.115111953924444E-9, 1.085736442547988E-8, 7.530910852223679E-10, 0.007730713033807596, 0.0023130569129987226, 2.0948404538025753E-44, 4.9339352418069655E-6, 0.05672483847739559, 5.822793801793708E-4, 3.70856627550751E-8, 2.3339045991753364E-13, 0.002975540685891152, 0.9191727652367071, 6.496875900546233E-7, 9.723928519636518E-7, 2.5496982552745032E-26, 8.715527924100899E-18, 3.7282341508989173E-6, 3.924329470614295E-6, 1.143532506715282E-18, 1.0848420056246843E-11, 2.198276190515865E-11, 8.695625420864327E-12, 2.0032394728114303E-12, 0.0027073991076293053, 0.002540503925532607, 5.75269796875613E-6, 1.0854909378074172E-5, 7.44577567906549E-11, 9.882215801340478E-5, 6.744880369924314E-13}, 
					{0.034902488275889744, 0.5460013979668714, 0.00353181286550636, 0.3977099176452031, 0.0021686948405107358, 0.007332502590699167, 3.5319187830427606E-13, 1.0504544701020335E-8, 5.758866203989084E-43, 8.586471511736916E-5, 5.438643664008149E-7, 9.738518605433108E-12, 6.212938672202556E-36, 3.7811218471894187E-22, 9.124855546921549E-4, 2.670405578593362E-8, 3.101682231296628E-18, 1.7147766571123856E-4, 2.749005594871226E-12, 2.2738753457311745E-19, 1.3807747125302912E-31, 3.2058108150210683E-4, 1.1181462142952683E-6, 4.6293638690376636E-17, 1.4875337051547304E-12, 1.2229309280518162E-5, 0.0012253271111780939, 1.5649700250575696E-4, 1.2795623414213307E-4, 4.3589705552234196E-5, 1.8991048104176345E-6, 2.7848151128676223E-8, 1.7078067957977168E-4, 0.005122770569587165}, 
					{0.011805487131187441, 9.886954687420401E-6, 0.0010856217184146103, 0.0021891841170627877, 0.01476385348282885, 0.0406317732925426, 1.0783157239990676E-6, 0.004189459976441376, 3.5391290793370597E-6, 0.007419274224679028, 0.009809990413861118, 0.003553707776792113, 7.031710064973614E-7, 1.8320698547693574E-10, 0.006767580900392893, 4.679056726915617E-4, 9.866136972155776E-12, 0.05517127352250744, 3.6514978521451756E-20, 1.6042381366617941E-4, 1.624602247760118E-42, 0.675300278766028, 0.05117021540760366, 0.02275533469627842, 1.2113484452344565E-11, 0.006042654406894135, 0.0026834162881682324, 0.022921294968867422, 0.05757500906293855, 1.8700544894262354E-5, 0.0024245765061711028, 4.893994372460864E-7, 0.0010772861321932741, 1.773929304642219E-12}, 
					{0.0010830469500664724, 0.015436923867281679, 5.454741296631266E-9, 1.7931655517527036E-8, 0.018091316565314694, 6.914680316919658E-4, 0.0480538324001661, 9.488434516771244E-6, 9.135349170572085E-33, 1.5317377784811032E-14, 1.4656060370476106E-11, 4.097945735642844E-40, 5.337459241848122E-50, 7.763818112108743E-24, 0.01571238795835579, 0.7831501531522103, 0.03780836240484206, 0.039684496823173675, 0.007128320092838789, 1.5585463818465398E-12, 5.490267492034011E-54, 0.030773948833404365, 2.5013252572169634E-4, 3.56292856414578E-37, 1.5682288590903832E-36, 3.095752654381644E-14, 1.8566608138610448E-8, 3.497341554608688E-11, 2.1858230857317451E-4, 3.015282202476585E-18, 0.0019001043416051954, 6.502083845638755E-9, 7.386803913969998E-6, 1.0855907047067638E-23}, 
					{1.5095297958697979E-9, 1.2620976767583304E-4, 3.8046328099745846E-11, 1.3335595170079456E-8, 2.171595792051162E-9, 1.2386890015145293E-4, 7.990521602957793E-9, 1.1230850246227151E-5, 1.0329052925227602E-40, 5.027327609634877E-4, 2.0301877539030774E-11, 5.251958107166756E-10, 1.1252913490625782E-22, 8.027725020513824E-25, 3.9778486108038804E-7, 7.053211704727557E-5, 3.670865169439538E-19, 6.939296033817502E-10, 2.202377620141481E-47, 1.2812232650869718E-7, 1.7684009752638479E-15, 3.4388882403182535E-9, 1.8406119599313558E-4, 1.2627201083657853E-28, 1.4279190728153263E-22, 0.9957309144246359, 3.4864228175414466E-6, 0.0022585852147412955, 2.253038893454772E-9, 3.911328148950482E-14, 1.1761648305067408E-6, 3.6029989563104753E-4, 3.4728964924355543E-4, 2.7905475215125034E-4}, 
					{3.0361517966719575E-4, 2.6764078217119373E-6, 0.0023963018943426095, 1.6076614743509846E-8, 1.7214228546666138E-20, 0.008977404906407912, 0.10727952513388657, 0.0035470032106363117, 7.09025142622594E-45, 1.4686385131514112E-6, 5.335506567286714E-6, 0.006843283590292447, 0.04909304702263525, 7.773264917962096E-4, 2.9463918298963225E-8, 2.6324220912661662E-5, 3.3935391474486685E-13, 3.0753488949472705E-4, 7.159584808131237E-17, 2.686637346847668E-16, 1.4652743860779916E-7, 0.6551168019711544, 0.10134936694895431, 3.0967597276041572E-18, 2.204188818569223E-13, 4.1093552302849025E-6, 7.740644563356083E-5, 0.014448192401345717, 0.044610517886050575, 9.550783891819884E-6, 0.004823013803853822, 1.0632718201697184E-18, 2.1491258335023924E-17, 1.2423795870137802E-9}, 
					{2.3231062132297092E-11, 4.4098419319932006E-11, 2.0172917973397352E-4, 8.968341663321185E-10, 1.2087282690812836E-4, 1.2003762916112561E-5, 0.05589461976452709, 8.561276100509148E-4, 9.7074513568551E-70, 3.47673429081637E-10, 0.6934306269158985, 0.016282217422898797, 0.02216143005010895, 5.3844057691677484E-17, 0.12608332044628268, 0.036237593923934046, 1.706965542558053E-16, 6.803782878525727E-8, 9.244689022135402E-29, 2.29923250964581E-25, 0.0014260950006844324, 2.4940626893070047E-10, 1.4284065041729563E-10, 1.2478031149120687E-14, 4.0824954174878023E-17, 1.7833137116035599E-12, 4.977900051860427E-13, 0.02164505888424326, 0.02536273858180232, 9.387909374936916E-5, 1.6509939407046385E-4, 3.537738560763376E-14, 2.6517397949249248E-5, 1.003505718326886E-18}, 
					{0.006175785693248401, 4.467237976530811E-4, 1.9847940290021178E-4, 5.16247618919314E-4, 2.0166696152716334E-5, 7.123479314102478E-6, 4.5286458656348244E-10, 1.8580763143045447E-7, 8.53501553244861E-64, 3.787582164625727E-4, 5.123660856750808E-9, 6.40164052093425E-10, 5.996672317484831E-17, 3.0568675041083638E-9, 1.3774781494181989E-4, 4.444405306152252E-10, 1.6278475696554566E-19, 1.1192030441198313E-5, 8.942066034081754E-4, 1.4675648055129147E-27, 2.407751001863418E-36, 6.902751486880879E-5, 8.515186733896539E-4, 5.607429979005293E-18, 1.0817553786255492E-19, 0.0034107417803760994, 0.756288534563963, 0.0016748674619531025, 2.0272377399821275E-6, 0.018562216921720467, 0.21035404164928992, 1.832582105116117E-20, 7.775277329397486E-8, 3.195648551393221E-7}
					};
		}
		else if(size==35){
			returnB = new double[][]{
					{9.13588271965808E-7, 3.1014730228091155E-5, 4.786212658657923E-4, 1.0016120880157706E-5, 5.638939682473673E-11, 8.273028070176392E-5, 5.905725912713241E-20, 2.75635022593775E-4, 4.467881452933914E-46, 7.407626944968253E-6, 2.3796458588833442E-11, 2.881889636995097E-9, 2.0339560609987178E-24, 0.012791039146616421, 1.6355247670119534E-11, 2.909075014661975E-20, 9.356096376667769E-33, 2.449445122898521E-11, 6.219972401129749E-4, 1.9156077184152487E-21, 1.0472995386842157E-27, 1.768467954872644E-4, 1.9547089157808013E-5, 7.465970862016191E-17, 7.355509167533736E-20, 0.0011056588578888132, 0.35479350275729865, 3.8812514015649725E-6, 2.2276776664744452E-8, 0.4920491775054773, 0.13755198525092568, 2.192458147774083E-17, 3.933041384421924E-18, 1.904449931493874E-10}, 
					{2.5877586342235964E-4, 4.839677187804686E-6, 1.485133673865446E-6, 0.001978702956676049, 9.707810641809118E-7, 3.6871870765205946E-5, 2.6320226444233707E-11, 9.76520920984061E-5, 5.575070628292936E-32, 0.7874669095739829, 1.2710066710411811E-9, 1.177962500154822E-16, 4.737851007980489E-22, 1.2549177324331815E-23, 7.296824885886013E-7, 6.420183729817741E-6, 9.676080257186488E-20, 6.43110871280883E-9, 1.0779753434132095E-8, 2.5713977972368115E-10, 7.833389213873583E-23, 8.422478278639427E-5, 1.2450731675766897E-4, 0.019215884034350487, 0.18796029819290225, 2.446850113762172E-6, 2.679392385318743E-5, 0.0021054389427164148, 3.445059490682502E-7, 1.301545509039233E-7, 3.027369372908663E-4, 2.796545311006597E-13, 8.186682125797623E-6, 3.1563109590563757E-4}, 
					{0.004436316431620539, 0.0034073420938146902, 0.0015874311542787272, 0.004800186374434934, 2.799380534122501E-4, 0.0331965867475893, 9.954050833099193E-49, 2.998546370025707E-4, 3.450250938816715E-73, 2.6199791227858626E-4, 1.9119723386403436E-19, 1.3332396865716092E-54, 3.160017719302847E-22, 0.38872465732558603, 1.9979098598303685E-12, 3.097176639888813E-10, 3.337456288660203E-34, 1.259405031526393E-5, 7.649324120972185E-5, 9.524892332250356E-13, 3.529714667565696E-49, 4.639191882395736E-9, 4.116179242535522E-28, 2.5626683176959435E-39, 0.560339001936611, 3.304816380527987E-13, 9.1458975416545E-4, 3.568967128181099E-25, 7.587846956012299E-23, 1.5697200375084145E-11, 0.0013205502733818198, 9.759631429590704E-5, 2.448587321158109E-4, 1.049748969978056E-20}, 
					{6.775729337276616E-4, 6.629220640515746E-12, 7.915193405481638E-12, 1.8498605986783466E-25, 0.0013551909407858807, 1.6020540704630802E-4, 2.4828620701930236E-5, 0.06544136919331044, 0.04809856348855563, 1.2446530891661174E-5, 0.0043369583555117166, 4.015730726309901E-9, 0.0016008245583307532, 2.3438390991056846E-30, 0.003433319386493363, 0.02913380471564361, 9.75580798235521E-4, 0.10066306956713374, 2.530229329481737E-21, 0.7238641443417779, 7.4224586195256176E-37, 8.701165961533164E-6, 1.4410284528578493E-24, 2.133170247776439E-12, 1.5388268587854747E-37, 5.074375501394575E-15, 6.9405731783210264E-15, 7.984351983140516E-4, 4.1578643194954137E-4, 3.460410181633413E-26, 1.9710954508292066E-11, 2.3619213818280115E-10, 0.01404533443500427, 0.004953859642301134}, 
					{2.2647292931772373E-13, 5.178741859777804E-21, 2.513639023198127E-10, 9.64771532790236E-9, 1.1772338352979584E-4, 4.078048731683927E-12, 0.010861467617796952, 0.8118059505116993, 9.588807322771067E-101, 0.004155581560695635, 0.025949861474398137, 0.005441553955876402, 7.843016233252523E-11, 3.549967629146062E-13, 2.803788813100042E-7, 2.6111808566906583E-5, 2.0179804272486795E-13, 3.946376023987361E-11, 4.684603735511528E-31, 7.716553951348065E-4, 0.13940355228960916, 2.5220233045215606E-8, 1.5091264880665393E-11, 8.36901428486552E-7, 1.2215522860857647E-7, 2.4907663661958E-7, 1.514100584490803E-12, 7.626909620408877E-5, 0.0011648515879745108, 1.1861694997804757E-11, 8.104050460347875E-17, 8.991486080993707E-6, 2.0905616011381134E-4, 5.849889609523539E-6}, 
					{0.0043502993521478475, 5.632088580216641E-5, 8.322097042688192E-9, 9.474684312666246E-6, 8.122799745655473E-5, 1.9607544980175348E-5, 1.901125125038163E-14, 8.447082113473981E-8, 2.2287481789815407E-45, 5.488896336160534E-6, 3.5150149647639545E-13, 2.6656414550596277E-7, 1.3502576375523113E-36, 5.2974131358111256E-5, 4.182372509519607E-11, 7.418150802136429E-11, 7.010898251972848E-19, 5.81571243242781E-10, 3.363209408205186E-6, 3.188301065344419E-13, 1.4520811540957634E-37, 0.0021851629161489606, 0.00599965003601781, 6.447694571115086E-12, 6.151248970154147E-17, 0.004114110851474827, 0.5470029350403278, 7.22447598223757E-5, 1.4138191448461136E-5, 9.522549175090478E-5, 0.43587903984116577, 2.486450497500577E-18, 1.6644451107071574E-9, 5.837444381874515E-5}, 
					{0.0016583874320073048, 2.2983219598190408E-5, 3.614615804153942E-14, 1.5180433073295904E-4, 0.0026322261479872077, 9.46049574946666E-5, 0.004949454750326822, 6.454890093380727E-12, 3.2666512107686966E-31, 5.85820686424852E-11, 3.7350218391523494E-8, 2.689186818971638E-12, 8.75036370301985E-25, 5.8632448005019195E-9, 0.004869315735280181, 0.0010524878161104801, 0.0027237806955025794, 0.9817173246054968, 8.354252453283935E-14, 1.3381411710828572E-10, 1.8738731279372016E-51, 4.140217326668852E-6, 1.3209929519661621E-9, 4.522830362630382E-6, 6.881714557961586E-15, 1.1653807257700277E-4, 3.010233458973726E-8, 5.440976686007493E-7, 1.5908380305687153E-6, 6.493947527261396E-10, 2.1874497429571916E-7, 1.364934079003768E-19, 4.784973138181668E-12, 1.5885480312865946E-11}, 
					{7.599683837817005E-4, 1.3110891547193025E-11, 5.2160182424443607E-14, 1.0970860779138072E-10, 8.730937408382006E-5, 1.1918050488708261E-11, 0.0017177512166915317, 8.562895221683075E-10, 1.6778219750855006E-40, 8.269495539468611E-11, 6.246721028849467E-6, 5.612544665180533E-6, 1.267468972908758E-6, 2.7299691380560142E-17, 0.7112633434309013, 0.0025428443043251196, 0.004068751335177091, 0.27435055490166044, 1.172379082368044E-29, 6.207319356498517E-10, 2.502547895787084E-56, 5.117001064479895E-5, 0.004157665741454751, 9.590866540581864E-4, 1.6026257186615237E-30, 1.8996372003082332E-6, 1.3193975746983122E-10, 2.390666843763413E-5, 2.565260822389702E-7, 2.620359844663191E-14, 2.363216230380397E-6, 3.3837589732685775E-21, 3.800682661295548E-11, 1.2495168395980756E-13}, 
					{2.05995450369346E-7, 1.0735157690264776E-7, 1.2813702080469342E-7, 1.4391619284924977E-6, 1.5642689065959113E-13, 1.2719482063650695E-6, 0.06204405368446241, 0.006339157062985939, 1.5897156676069552E-40, 0.0016532170094904419, 0.6084883907831208, 0.0920324587076598, 9.600451556979543E-4, 8.599708498958704E-18, 0.017566488156810754, 0.001955994934497819, 8.069383276477615E-7, 0.0011466891414454812, 6.787951656514273E-24, 1.5105067992837216E-5, 4.008004819569557E-13, 1.3372883149107513E-4, 1.467614905869067E-5, 6.326025959499786E-5, 5.451337007616913E-7, 3.7328160360220633E-6, 6.873308529852615E-6, 0.10800955876547909, 0.0995467354955634, 1.7285324018937348E-7, 7.417933047690671E-10, 1.8685844052571555E-12, 1.3514971446712516E-5, 1.6414349653336314E-6}, 
					{3.8934145336488814E-4, 5.87928721342702E-6, 4.1626284937290357E-10, 1.4120384465442436E-6, 0.0035178789488178332, 0.00853507604662518, 0.0023621039859575447, 0.00825230017724474, 7.393031493600781E-27, 1.8517342932401324E-7, 1.54032072040366E-5, 0.012097379002056976, 0.007290411560748705, 3.6813447244216866E-22, 0.23214292136312642, 0.035953466028380995, 9.146983159235288E-4, 0.4903974791868728, 2.5941599059785407E-17, 0.10866130338145279, 3.911683256315839E-37, 0.061314990028299855, 0.01990014187698705, 0.0031263933350275503, 6.121056219670998E-14, 7.510172166246254E-4, 2.824148151380353E-7, 1.3254280417541341E-4, 0.0018333193485746359, 1.6331310417546104E-9, 0.0024038978945473224, 1.9755541736347795E-15, 7.080185524207804E-8, 1.0307277000930537E-7}, 
					{0.020532508304220258, 0.10641747940058743, 4.2804846692575994E-5, 0.010069409717177624, 5.610933961223007E-9, 7.527727082355666E-5, 3.2967451899473085E-16, 1.443150294985157E-10, 4.873784742676E-59, 0.7957051565891724, 1.179411721570071E-8, 8.089237700069559E-19, 6.116065999370588E-34, 1.9591990983198624E-33, 3.446678989854692E-5, 1.60412768068257E-8, 6.906721851601269E-24, 1.1576053997812125E-6, 1.714230803734204E-14, 1.1463340095481839E-30, 3.530822601162273E-23, 9.184558624308495E-11, 7.520269875568257E-7, 4.637329146532567E-20, 0.06438033507218864, 2.4640688017684783E-8, 0.002599359906013539, 1.3179774262186787E-4, 2.745420528240744E-6, 1.7483611037696642E-6, 4.655688333430105E-6, 3.825816438846478E-9, 4.316458113142815E-14, 2.831091969741783E-7}, 
					{5.386938787851416E-6, 8.012415864783048E-12, 2.7853969355734306E-20, 3.606371859988071E-12, 0.007029312431015707, 7.170042623569514E-17, 0.05368130072470345, 3.061908032969889E-6, 2.1271872202634797E-35, 1.7220297628580667E-20, 1.4350824763465299E-11, 9.046337088062772E-35, 3.773877763968703E-37, 1.1359718285107168E-24, 0.012285437843757555, 0.8949971742387022, 0.026127254107953756, 0.0024189524696527124, 0.002265829814142189, 1.9228598191047192E-4, 2.939343660724084E-41, 6.219279829328439E-4, 1.504307964455863E-13, 1.0189809787454021E-32, 2.8126240429877354E-32, 6.0566396469384594E-5, 8.083190029862743E-6, 5.271895327895676E-5, 2.233103624853788E-6, 4.528234006396003E-15, 2.4847388111923E-4, 7.678232208710196E-20, 7.761096318740081E-12, 4.994513561226725E-16}, 
					{0.0014299529003665714, 0.0024390514128798503, 0.0064801970177872335, 1.8373118029675316E-4, 3.477550868621298E-4, 9.94436928891709E-4, 5.443256643370953E-9, 4.80230229121075E-4, 7.843418656733754E-23, 0.47218638309617034, 1.3793685751445332E-8, 1.8761573527004272E-13, 1.446102834713562E-13, 2.180802494637403E-7, 1.0980997693735134E-6, 2.5888808774483965E-10, 8.812266042035263E-28, 4.602188629895861E-7, 2.7069204853090074E-14, 7.788718569146798E-10, 4.656549586092644E-30, 0.004388573972534736, 5.848580191619646E-4, 6.744349490290544E-12, 8.499267754168332E-5, 0.0055629429298670536, 0.003906853137946425, 0.3763913736771102, 3.0877788100893094E-5, 0.0011393393346889966, 1.1950751516936013E-4, 0.020586290297187414, 0.027900138523359236, 0.07476071759426844}, 
					{3.969196661059392E-6, 9.149266598418637E-10, 2.1383528338505032E-24, 4.361655826704761E-22, 5.525768005037621E-4, 0.09501779843961088, 1.3884400494081705E-9, 0.010072794876355309, 0.0026800163823603377, 2.864305930772301E-4, 0.0015106658991691196, 9.338902918105968E-4, 1.8369118417949182E-4, 1.1604514710009497E-6, 0.0011376391902860271, 2.062214718079408E-5, 1.3485231048194195E-10, 0.03927413622117196, 1.109504805021761E-25, 0.11675686768082306, 1.1770098621727116E-31, 0.2173080695388224, 4.6188105598390277E-4, 3.628625428130464E-23, 4.7702004298446505E-56, 8.534153191515475E-5, 2.6592325501168806E-19, 2.6862533900790863E-8, 1.1417114304545805E-6, 7.110978617444724E-9, 1.0911384049222964E-12, 0.35976313469422927, 0.1539476933863952, 4.4231374033354914E-7}, 
					{9.347807146990142E-7, 1.2581079173532937E-13, 2.1415883655876822E-16, 3.0497852585756015E-13, 8.36082242960462E-13, 2.693309080322941E-14, 1.777909766235218E-4, 1.0462062451692287E-4, 4.665859068107144E-34, 3.59514156553433E-13, 5.3289941929490146E-5, 5.976403513283542E-5, 0.0031027599823141056, 4.022964481103768E-27, 0.9362517745380328, 0.012462954241046069, 8.149357883989225E-4, 0.04442938012426829, 2.7033157612731914E-39, 8.219399406867898E-10, 4.229090348361787E-37, 2.43182818634864E-9, 8.55910204322231E-12, 1.2949607638865338E-12, 6.205630145208018E-39, 1.2389140294159942E-11, 3.488889693910507E-14, 0.0012094044505709441, 8.180498027172438E-4, 1.1465035600156528E-13, 5.143368887290015E-4, 2.6771193469303257E-24, 5.47190791570817E-10, 2.386609460513287E-31}, 
					{5.387521675109377E-10, 3.2752681256239012E-9, 5.710812177221621E-16, 2.448891791754386E-7, 0.008035654787798753, 4.886777533388313E-12, 0.5043180952958579, 0.0011181687276254305, 1.6296598171281692E-45, 9.813555693847242E-13, 8.147043142457388E-8, 0.001620146975309254, 2.8991808747789624E-13, 3.6305713670683594E-22, 0.2692354745084969, 2.2335958043662857E-4, 2.4009912095886756E-4, 0.21382400916862865, 1.5074251050733358E-24, 2.2434780361914405E-10, 3.2705406824293486E-32, 8.294310209373946E-5, 1.2267191427727882E-9, 2.3020814335948163E-26, 2.2518651612659354E-17, 2.549816614291827E-13, 7.474971045392938E-4, 1.1862228658751773E-8, 5.542080853414589E-4, 1.907859692054909E-15, 4.929877099330281E-11, 2.936454608043805E-18, 2.7214150396604745E-13, 2.055417056021592E-16}, 
					{5.1483808801722084E-15, 8.399057423963979E-17, 5.60624943862186E-4, 1.356430136070355E-12, 1.6154265682813299E-4, 1.75571695200817E-4, 0.08211392973696176, 3.6269077622577293E-4, 7.995787561094679E-111, 1.5965839490674967E-15, 0.6616348296396691, 0.013277878199224916, 0.02633625303148791, 1.0709460381396046E-21, 0.04907429132889113, 0.10875136238168395, 7.02404178313909E-7, 0.0035664725745681762, 1.603945901811009E-37, 5.07273080914959E-19, 7.8958522082647E-4, 0.004791488796337766, 0.001753866639413436, 1.2149831099687544E-21, 6.565458020350463E-27, 1.0198410296470293E-18, 1.9378069754483866E-11, 0.02091203491908366, 0.025137165775527534, 8.465535551966789E-5, 4.7740671608357833E-4, 3.037520838549421E-36, 3.7647187684572244E-5, 9.538973995950061E-32}, 
					{8.51160203697712E-6, 9.375789823258527E-5, 2.05144103806607E-7, 0.004572905421105156, 4.7415958581306744E-7, 0.038126552367148264, 2.1847654523891235E-14, 1.2422385623130151E-8, 3.0164038966251435E-60, 0.9389225667097703, 2.032990633363439E-9, 2.7760525053394604E-18, 1.0864821925891418E-29, 3.0234173789286568E-21, 6.377254523924807E-8, 2.0034248919322982E-10, 4.7778217813552215E-30, 3.5666898846726553E-9, 1.3699946799347598E-15, 1.3036190237124714E-27, 5.901644476106999E-26, 7.053404546606575E-9, 3.189286430017597E-5, 2.4247136096827926E-18, 0.0074708397041154, 6.953070876446683E-7, 9.853262460888634E-5, 0.008324830339448967, 4.403771693402235E-9, 1.5004160489577925E-5, 5.744665099047047E-5, 1.4082510669285467E-7, 3.759764860149538E-13, 0.0022755507693401258}, 
					{5.176933608879925E-6, 7.259802172974085E-13, 3.500652303181695E-6, 3.422805905230757E-11, 9.621548667141649E-7, 6.327197116676819E-11, 0.0011712317071455526, 4.8407697095575455E-4, 2.361409284825851E-52, 2.539449349004079E-12, 8.140885401832877E-6, 3.13730380325765E-7, 6.781927846429417E-5, 7.170603671477066E-21, 0.9444712826697989, 0.004894918579320981, 7.267812538223859E-6, 0.04821559391712152, 4.7817944128300717E-26, 3.786620531657952E-13, 1.8519595312755842E-36, 1.901284196775868E-9, 1.6380408887747976E-10, 2.7461570414538778E-5, 1.0996555251476333E-26, 6.362463543213234E-7, 3.950153088367361E-8, 6.391173813052664E-4, 4.977624488415366E-8, 2.1889469007547106E-13, 2.4074669136843878E-6, 3.916848593976886E-27, 5.988789767118903E-10, 2.4395840568694344E-23}, 
					{0.03219449780844435, 0.7669576736672913, 0.002937195525609515, 0.19231950338541084, 0.0040016724041463175, 4.673556837841406E-4, 1.6333591769541113E-14, 4.9576731128504484E-11, 2.31223004853662E-44, 1.7971583776632755E-6, 1.0664900715516305E-5, 9.47268191287357E-10, 1.0911269248719308E-33, 5.728974092728889E-17, 5.671489553572679E-4, 2.536277677077989E-9, 2.1609739171180906E-16, 1.9019997263037865E-5, 1.4114340652240878E-12, 2.4265295772139615E-13, 1.602471595716151E-45, 1.9947125474797755E-5, 1.2538828824356133E-4, 3.07518241904608E-10, 1.8970434196936002E-20, 1.2655770452274701E-4, 1.5180337398687835E-4, 6.464585411715954E-5, 6.17101789716986E-6, 2.8371147249874434E-5, 5.660262627591194E-7, 5.6357510234619144E-15, 3.184976180763624E-11, 1.6101678413083755E-8}, 
					{2.1002179447891186E-19, 1.1859936984496375E-21, 1.1625866127215913E-9, 7.2429171177783945E-12, 3.6214694108038124E-12, 1.1362807433414142E-14, 0.0030902746629129954, 0.9261627253577648, 2.7236219954685177E-93, 9.631261788562218E-4, 0.016959233601178045, 6.7748165725442774E-6, 1.3639726797352933E-9, 3.841994657392198E-10, 4.090267455409066E-9, 1.965856718959632E-6, 1.539512838266952E-25, 5.826361400734165E-9, 3.0612413323061405E-39, 8.590544244889902E-9, 0.04141911737963169, 3.125650292206161E-5, 8.293380451467234E-5, 3.059067256544218E-15, 3.8829902860662384E-10, 1.944675700421122E-6, 1.7508618596510677E-6, 0.005776170394226179, 0.0011327539800327108, 3.034878870504926E-6, 2.580548505589056E-16, 0.001870733705897822, 4.8694626439199347E-4, 0.0020092352608385954}, 
					{5.214741276554196E-4, 5.689983724309838E-7, 6.798361013557124E-7, 2.701363928260537E-4, 3.2070990445597816E-11, 4.29788363958857E-8, 1.966546353296293E-5, 0.0037160734135982545, 1.6486396146355494E-28, 0.02353741605275048, 0.025242738904829753, 2.6698481603208296E-5, 1.8060819718244422E-4, 2.146734365489033E-29, 0.003825125063564516, 0.0062171853837488305, 2.3513582021428602E-12, 5.449794177966435E-4, 1.0944791978359334E-36, 0.03224212603318927, 2.2714360273866626E-28, 0.21531061666512843, 0.016815469742107434, 0.0394809239028048, 3.4955699358499227E-9, 5.288005676005719E-4, 0.005085561301869715, 0.10369908451603516, 0.5222598265789887, 1.272057681336057E-5, 1.04894621674827E-6, 8.606836781385575E-21, 7.692155918898288E-6, 4.5273277093581466E-4}, 
					{6.70523329334372E-4, 1.3419274429797657E-4, 3.4963182615693674E-4, 1.0420375299609856E-5, 3.2380857852300374E-7, 0.07902283748445689, 0.004493649313885875, 0.014660287165212095, 1.693943599542287E-96, 8.784067752782423E-4, 2.4495320875720805E-5, 2.8865046373343134E-19, 2.931991495042737E-35, 4.192552541913701E-44, 0.015516611317800477, 3.4152440623471173E-4, 5.186011598713675E-10, 3.465760005794536E-7, 0.8497919737825338, 1.5249042129663157E-40, 2.974286338088099E-11, 4.923188491391112E-12, 4.533699094179751E-36, 2.1202879424106793E-51, 1.0442182724256183E-9, 7.84881372268047E-5, 0.02442003835556329, 0.009492855269895632, 7.331467689383135E-6, 3.5623377288212397E-10, 1.060603371926872E-4, 1.2006562298460893E-34, 2.0597699256817218E-36, 2.527670904000284E-10}, 
					{0.0470537978948775, 0.005228436696450377, 0.02050056807357444, 1.1280917277445125E-4, 0.0027343338022405165, 0.4192730134187932, 1.2989448699343854E-9, 4.320352568511325E-8, 8.353121782867733E-79, 0.3489882876858013, 1.3565643663487567E-8, 9.729135914645057E-18, 1.723307357733336E-14, 2.6234845288963877E-24, 0.013655514823873685, 2.5948069440023505E-8, 2.0161728116480194E-18, 6.173940417893089E-9, 6.695173018138262E-11, 2.9510476784482647E-36, 1.7003174423637514E-21, 4.667818892595755E-7, 5.928938229693571E-7, 5.306546380333273E-22, 0.11045369448568898, 1.976114351155185E-8, 0.024637231889172776, 0.006330098221617864, 1.7190377874162133E-7, 0.0010303592521219691, 7.270086443405054E-10, 3.636606644856241E-17, 2.3135813955401858E-27, 5.122582764811424E-7}, 
					{6.815132933912516E-5, 3.424332887071936E-8, 0.0026483395425066667, 3.4420914092649874E-12, 0.001212232238356963, 6.123310925012686E-4, 8.121866626353881E-4, 0.0016054964226088087, 2.617175655693361E-22, 0.008541997528261286, 0.004121581830089366, 1.9058555037182205E-23, 1.015400377801445E-26, 3.0749716947384616E-26, 0.004521903931661295, 0.9611100041729829, 0.013895332907529511, 6.231638377655824E-4, 2.696909632103656E-15, 9.491343079645652E-5, 2.870419564569919E-28, 3.1521960182022743E-6, 1.6833333480741668E-33, 5.453226147024594E-28, 1.1584328106266288E-10, 6.526732802278631E-5, 3.0750367491381594E-15, 6.938741551851832E-11, 1.9562885384474845E-7, 6.0149321192960476E-5, 4.2534497661196475E-12, 3.4513750074120546E-6, 8.841717307489685E-10, 1.1390343745396807E-7}, 
					{4.4108424962277437E-23, 1.240528769782268E-13, 3.724111376830102E-7, 4.32775845209258E-13, 4.0996180621333795E-20, 1.4978524177314723E-15, 0.9388104808060153, 0.0029729049781939223, 8.875303081291779E-67, 0.011054145049381757, 0.006719827692008825, 3.830291013748299E-6, 7.015416582913005E-4, 1.566910094857505E-15, 4.8351061966852654E-5, 0.02758551690855926, 6.609870442070848E-20, 1.4780793301304703E-5, 4.029326533636088E-28, 4.8731324349583745E-12, 1.1354895263672801E-4, 0.0011475958506261784, 1.4583257672361535E-20, 3.662245394511832E-17, 0.001498910456947156, 7.779174691254815E-6, 6.628985534578729E-9, 0.0040342135576437645, 0.004941718185454099, 1.2063496242022927E-11, 7.643204600827553E-16, 1.6374329082070516E-4, 1.807322348077191E-4, 1.937012750095407E-14}, 
					{7.067172699044547E-6, 2.7891877657446113E-5, 3.512934429177913E-5, 2.1620179146485285E-7, 9.316674581540185E-21, 6.752013722634844E-6, 1.0455786176138377E-19, 0.01019477494719251, 1.77449795011528E-35, 9.880190030599938E-5, 1.979992251760344E-4, 4.7949398397979095E-20, 1.2937808832353988E-20, 2.1115713436052552E-22, 0.0029209648486815125, 6.259508621999971E-4, 1.3524362581343723E-54, 0.005322354848506535, 2.3660157922679227E-20, 0.025106249006950233, 1.617050036288753E-26, 0.9131045182321189, 0.029717092376519434, 2.6100354391625123E-18, 0.007281415120455015, 1.952694404193634E-13, 5.2667412146503755E-8, 0.0025454548320082543, 0.002737906984059573, 4.796651592302074E-6, 3.0454385317421162E-5, 4.849159530132829E-27, 2.041809043514526E-14, 3.4156501126110256E-5}, 
					{0.010280391715330562, 7.2045542533083424E-12, 0.007822217249331239, 1.7685164240823954E-14, 6.424720981406608E-4, 0.5315324141779205, 2.3955685274429998E-6, 1.0703051812033706E-4, 1.3081064514668093E-55, 0.04094780609912951, 3.24269689376249E-5, 2.6839152834503605E-15, 4.104534803231016E-24, 0.0026505968791887304, 1.1844097246640198E-8, 6.969504438279285E-7, 8.616022980022297E-19, 1.28625935403477E-5, 1.4508331277716862E-20, 7.817184849777105E-25, 7.360906659886617E-35, 0.0016561103263897554, 7.305578587218747E-12, 5.004181597817074E-47, 4.1645162488817885E-14, 0.002873255379855151, 0.19485910049384306, 0.03474488027012934, 0.003727183194645441, 5.597795727937408E-7, 0.14407217229002964, 0.005925452800414249, 4.000152135471495E-5, 0.018069961266485517}, 
					{0.032190119370124816, 0.10337539581007697, 0.0010968676794697045, 0.7522255639171477, 1.5314343568459315E-4, 0.006941085489564962, 2.056708085542953E-13, 2.1591411599417425E-5, 2.5888061656156008E-58, 0.09138750996423155, 2.0576825359673343E-4, 7.891455978243649E-21, 2.774606647790453E-41, 5.545685178944965E-44, 3.141369719760813E-4, 1.6423526517172505E-7, 1.310084350300191E-19, 6.16227587428094E-7, 1.9639898997408436E-13, 4.526763262314589E-27, 6.132260479623707E-25, 1.3629550105280115E-13, 5.6130610605592E-13, 6.228201322355628E-20, 2.7891788469276253E-5, 3.007126007585938E-9, 1.4685439153048216E-4, 3.256819850518802E-5, 4.5590726462181275E-7, 9.218678507272882E-6, 2.3924815466780183E-9, 1.66930775684988E-12, 4.549117699862875E-10, 0.011871042412109676}, 
					{0.01811321632473782, 0.6867836154332887, 0.016766681097483686, 0.013671330474351961, 0.0030878221504972423, 0.1730770393748916, 2.3577834684209334E-12, 1.3049317812693245E-7, 3.9504824183876163E-51, 0.055837903497926805, 4.730895806894828E-10, 1.068973252463603E-27, 4.7916708315774616E-57, 1.767767578139093E-15, 0.01244302826373265, 1.4844218531810617E-4, 0.007865038729327936, 7.334175644738706E-4, 0.0018650114509953914, 3.5979563311155963E-11, 1.1879301832800528E-28, 5.144696972960095E-10, 4.21833522013307E-18, 7.3293931934807E-43, 2.4509734401493943E-7, 7.148634475465157E-11, 0.009446830081498554, 5.8768352104838016E-8, 1.73182010387849E-7, 4.430767947294033E-8, 2.7894631853554244E-5, 6.965058599216237E-23, 1.320751527462413E-4, 6.409271335577815E-10}, 
					{1.0448762587811325E-8, 6.491065140337296E-6, 7.26790008950159E-8, 4.496083509969105E-16, 6.47793428315416E-12, 4.3246653053314167E-4, 1.931102355056795E-12, 8.682183845505204E-8, 2.1596749652608498E-67, 1.3768637183187018E-9, 2.2575837600867833E-13, 9.693165090998935E-12, 2.5014231567460323E-21, 4.135521139339701E-36, 1.4241439278660468E-7, 9.930900831349024E-5, 1.9187292549933096E-38, 8.583332417082805E-12, 3.1131005889007394E-64, 1.469167470113396E-10, 2.3868673710727037E-18, 1.3309337278357406E-15, 5.151680095611192E-9, 4.612384707935299E-45, 3.867125000015529E-31, 0.9992299448704809, 8.267456922771748E-5, 3.452513824757686E-5, 2.194023464794335E-11, 1.5272194247828674E-5, 5.5809757099404456E-24, 5.373517654979879E-7, 9.783399823110765E-5, 6.261855039728024E-7}, 
					{0.041036864969931676, 0.28517268984085137, 8.336473585075988E-15, 1.7176637067824348E-4, 0.02492463562311403, 0.15156318524501108, 4.963230059383061E-12, 2.7361040287351496E-7, 3.2088903476664603E-17, 3.507252608554163E-7, 8.783195470732328E-7, 8.472842443772337E-10, 7.6033985875559975E-22, 7.37987006383074E-4, 0.006736594831123592, 1.0526355244918753E-5, 7.501125136607698E-9, 0.046684350960284164, 1.9791636567816886E-12, 3.9031802190843225E-5, 4.5304143359335715E-55, 0.4291999948454679, 0.006273011495593156, 0.0014130898145698746, 5.904579169672162E-32, 1.4575963928288585E-4, 4.70364464772957E-8, 0.0010863180641332484, 0.003443995286222682, 2.8988935775035415E-9, 0.001304203891339773, 2.628707894906353E-6, 5.180430403847725E-5, 7.328214481129034E-13}, 
					{0.02479516041509097, 0.008150559607013065, 0.008416417702967853, 0.36378674527157767, 0.005353361468049069, 0.03138198921770213, 6.467244268952506E-11, 5.479394972511373E-6, 2.9581244279363406E-48, 3.754215541227824E-4, 0.0629980673420195, 0.00899648541658128, 1.946455122908943E-12, 8.443431952799089E-28, 0.010994010866030246, 0.0021958223543942198, 2.6853720750486337E-11, 7.618316768325666E-6, 1.7508515275404675E-15, 5.117209996009887E-15, 3.6105768181125746E-47, 0.09978236093473598, 0.006154174668809583, 3.868550693561946E-4, 3.131789336125622E-15, 3.927055269889321E-5, 0.015178886840589954, 0.04458273872547854, 0.3063518101131745, 2.024367732286014E-9, 6.676187686889301E-5, 1.4244661622270782E-13, 1.091810382714607E-10, 6.382371122336934E-11}, 
					{3.4382801243234755E-5, 4.102411851804468E-6, 0.001942397166742507, 1.5048206718650584E-15, 0.01977629187237695, 0.020425211041792773, 0.020786984566112856, 0.022025381812685423, 3.144781247237759E-46, 0.0021445753607049534, 0.005944976951509624, 4.983785389176795E-8, 0.03329529699606244, 1.698405399727374E-6, 9.4863851133731E-5, 6.643591984719872E-4, 2.3414098635628163E-17, 1.1609279226927766E-4, 8.27973392321178E-5, 2.786481511514601E-10, 2.647945791272613E-18, 0.8392990609748004, 0.02103915075767081, 1.5650262280978402E-18, 4.3259604098077423E-13, 0.008553154667017133, 4.856173798152288E-12, 0.001263088350885672, 4.291491147143358E-5, 1.5562328335680726E-12, 7.010581942193236E-11, 3.406519707256839E-4, 7.935298141219753E-6, 0.00211458030824386}, 
					{2.6493192282105285E-8, 6.96809886989179E-12, 8.115127533703953E-5, 2.831552113171639E-4, 5.47108664058845E-4, 3.497378111054062E-9, 0.038741796234294364, 8.739095466315707E-5, 1.1789798338666666E-86, 4.358042533460805E-9, 0.5003223107887452, 0.012793533193400129, 0.00792082670041639, 2.8635334487152604E-10, 0.3342733241010576, 0.03574969251911324, 2.559003415053826E-7, 0.009061435825954449, 1.7189615337022109E-19, 1.3813379574619215E-15, 0.019931038220407517, 3.878614857666594E-13, 2.2727388468078027E-25, 4.997708800314009E-12, 4.6622163432728996E-14, 4.81708602744312E-8, 9.403567244964288E-9, 0.026962495459152726, 0.011645330992077199, 2.4301447010221763E-9, 2.0196719999060304E-10, 0.0015855614015966447, 1.349752966428184E-5, 1.7449508011708206E-10}
					};
		}
		if(returnB!=null){
			if(returnB.length!=size){
				throw new RuntimeException("length of returnA("+returnB.length
						+") differnent from size input("+size+")");
			}
		}
		return returnB;
	}
	
	public static HMM create(int N){
		double[][] tmpA = getInitialA(N);
		double[][] tmpB = getInitialB(N);
		
		if(tmpA==null || tmpB==null){
			return new HMM(N, WordType.size());
		}
		else{ return new HMM(tmpA, tmpB); }
	}
	
	private int startIndex = 0;
	private double threshold = 0.001;
	
	
	private int getStartIndex(){ return startIndex; }
	private int getEndIndex(){ return this.getStateCount()-1; }
	private double getThreshold(){ return threshold; }
	
	public double[] initLogAlphaColumn(){
		return initLogCoeffs(this.getStartIndex());
	}
	public double[] initLogBetaColumn(){
		return initLogCoeffs(this.getEndIndex());
	}
	
	
	protected double[] initLogCoeffs(int indexOfOne){
		double [] init = new double[this.getStateCount()];
		Arrays.fill(init, Double.NEGATIVE_INFINITY);
		init[indexOfOne]=0;
		return init;
	}
	
	/*public static int getCharacterIndex(char c){
		if(c==' '){ return 0; }
		else{ return c-'A'+1; }
	}*/
	
	private static void checkA(double[][] a){
		int length = a.length;
		for(int i=0; i<a.length; i++){
			double[] d = a[i];
			if(d.length!=length){ throw new RuntimeException("Length Exception @ index "+i); }
		}
	}
	private static void checkB(double[][] b){
		int length = b[0].length;
		for(int i=0; i<b.length; i++){
			double[] d = b[i];
			if(d.length!=length){ throw new RuntimeException("Length Exception @ index "+i); }
		}
	}
	
	private static void checkArrays(double[][] a, double[][] b){
		checkA(a);
		checkB(b);
		if(a.length!=b.length){
			throw new RuntimeException("State number inconsistent!");
		}
		
	}
	
	public static double[][] copyOf(double[][] in){
		double[][] out = new double[in.length][];
		for(int i=0; i<in.length; i++){
			out[i] = Arrays.copyOf(in[i], in[i].length);
		}
		return out;
	}
	
	public static void normalize(double[] ds){
		double sum = 0;
		for(double d : ds){ sum += d; }
		for(int i=0; i<ds.length; i++){ ds[i] /= sum; }		
	}
	
	
	private HMM(int N, int L){
		a = new double[N][N];
		b = new double[N][L];
		
		Random r = new Random();
		for(int i=0; i<N; i++){
			double sum = 0;
			for(int j=0; j<N; j++){
				double d = r.nextDouble();
				a[i][j] = d;
				sum += d;
			}
			normalize(a[i]);
			
			for(int k=0; k<L; k++){
				double d = r.nextDouble();
				b[i][k] = d;
				sum += d;
			}
			normalize(b[i]);
		}
	}
	
	private HMM(double[][] a, double[][] b){
		checkArrays(a,b);
		this.a = copyOf(a);
		this.b = copyOf(b);
	}
	
	private HMM(HMM hmm){
		this(hmm.a, hmm.b);
	}
	
	
//	public double a(int from, int to){ return a[from][to]; }
	public double b(int s, EmissionCharacter c){ return b[s][c.getIndex()]; }
	
	/*public static int getStateSize(){
		return 2;
		// return a.length;
	}
	public static int getSymbolSize(){
		return 27;
		// return b[0].length;
	}*/
	
	transient private double[][] logAlpha;
	transient private double[][] logBeta;
	
//	public double[] getLogAlphaColumn(int t){ return logAlpha[t]; }
//	public double[] getLogBetaColumn(int t){ return logBeta[t]; }
	
	/*protected SmallCoefficients nextViterbiColumn(SmallCoefficients prevViterbiColumn, EmissionCharacter o_t){
		SmallCoefficients viterbiColumn = new SmallCoefficients(prevViterbiColumn.size(), prevViterbiColumn.getNormalizer());
		//int[] states = new int[getStateSize()];
		
		int N = this.getStateCount();
		for(int j=0; j<N; j++){
			double max = 0;
			double current = 0;
			for(int i=0; i<N; i++){
				current = prevViterbiColumn.getRelativeCoeff(i) * this.a(i, j);
				if(current>max){
					max = current;
					viterbiColumn.setPrevState(j, i);
				}
			}
			viterbiColumn.setRelativeCoeff(j, max*this.b(j, o_t));
		}
		viterbiColumn.normalize();

		return viterbiColumn;
	}
	
	public SmallCoefficients[] buildViterbi(EmissionCharacter[] output){
		
		SmallCoefficients viterbiColumn = initAlphaColumn();	
		int T = output.length;
		SmallCoefficients[] viterbiMatrix = new SmallCoefficients[T+1];
		viterbiMatrix[0] = viterbiColumn;
		for(int t=0; t<T; t++){
			viterbiColumn = nextViterbiColumn(viterbiColumn, output[t]);
			viterbiMatrix[t+1] = viterbiColumn;
		}
		return viterbiMatrix;
	}*/
	
	protected double[] nextLogAlphaColumn(double[] prevLogAlphaColumn, EmissionCharacter o_t){
		double[] logAlphaColumn = new double[prevLogAlphaColumn.length];
		int N = this.getStateCount();
		
		for(int j=0; j<N; j++){
			double logSum = Double.NEGATIVE_INFINITY;
			for(int i=0; i<N; i++){
				double a = this.a[i][j];
				double logA = Math.log(a);
				double tmp = prevLogAlphaColumn[i]+logA;
				logSum = Logdouble.add(tmp, logSum);
			}
			logAlphaColumn[j] = logSum+Math.log(this.b(j, o_t));
		}
		return logAlphaColumn;
	}
	
	public double[][] buildLogAlpha(EmissionCharacter[] output){
		int T = output.length;
		
		double[][] newLogAlpha = new double[T+1][];
		newLogAlpha[0] = initLogAlphaColumn();
		
		for(int t=0; t<T; t++){	
			newLogAlpha[t+1] = nextLogAlphaColumn(newLogAlpha[t], output[t]);
		}
		return newLogAlpha;
	}
	
	protected double[] prevLogBetaColumn(double[] postLogBetaColumn, EmissionCharacter o_t){		
		double[] betaLogColumn = new double[postLogBetaColumn.length];
		int N = this.getStateCount();
		for(int i=0; i<N; i++){
			double logSum = Double.NEGATIVE_INFINITY;
			for(int j=0; j<N; j++){
				double tmp = Math.log(this.a[i][j])+Math.log(this.b(j, o_t))+postLogBetaColumn[j];
				logSum = Logdouble.add(logSum, tmp); 
			}
			betaLogColumn[i] = logSum;
		}
		return betaLogColumn;
	}
	
	public double[][] buildLogBeta(EmissionCharacter[] output){
//		double[] logBetaColumn = initLogBetaColumn();
		int T = output.length;
		double[][] newLogBeta = new double[T+1][];
		
		newLogBeta[T] = initLogBetaColumn();
		for(int t = T-1; t>=0; t--){
			newLogBeta[t] = prevLogBetaColumn(newLogBeta[t+1], output[t]);
		}
		return newLogBeta;
	}
	
	
	protected void buildGammaAndUpdate(EmissionCharacter[] output){
		int T = this.logAlpha.length-1;
		int N = this.getStateCount();
		int L = this.getSymbolCount();
		
		
		double[][] newA = new double[N][N];
		double[] tmpASum = new double[N];
		
		double[][] newB = new double[N][L];
			
		for(int i=0; i<N; i++){
			tmpASum[i] = 0;
			
			for(int j=0; j<N; j++){
				newA[i][j] = 0;
				if(i==0){ Arrays.fill(newB[j],0); }
				
				
				for(int t=0; t<T; t++){
					double logItem = this.logAlpha[t][i];
					EmissionCharacter o_t_1 = output[t];
					logItem += Math.log(this.a[i][j]);
					logItem += Math.log(this.b(j, o_t_1));
					logItem += this.logBeta[t+1][j];
					logItem -= this.getBetaLogLikelihood(Math.E);
					double item = Math.pow(Math.E, logItem);
					
					int charIndex = output[t].getIndex();
					newA[i][j] += item;
					newB[j][charIndex] += item;
				}
				tmpASum[i] += newA[i][j];
			}
			
			for(int j=0; j<N; j++){
				newA[i][j] = newA[i][j]/tmpASum[i];
			}
			check(newA[i]);
		}
		this.a = newA;
		
		for(int j=0; j<N; j++){
			double tmpBSum = 0;
			for(int k=0; k<L; k++){ tmpBSum += newB[j][k]; }
			
			for(int k=0; k<L; k++){
				newB[j][k] = newB[j][k]/tmpBSum;
			}
			check(newB[j]);
		}
		this.b = newB;
	}
	
	
	public void check(double[] probs){
		double sum = 0;
		for(double prob : probs){ sum += prob; }
		if( Math.abs(sum-1)>this.getThreshold() ){ throw new RuntimeException("Probs doesn't some to 1!"); }
	}
	
	/*public double getAlphaLogLikelihood(double base){
		return this.logAlpha[this.logAlpha.length-1][this.getEndIndex()]/Math.log(base);
	}*/
	public double getBetaLogLikelihood(double base){
		return this.logBeta[0][this.getStartIndex()]/Math.log(base);
	}
	
	public void buildBetaAndUpdate(EmissionCharacter[] output){
		this.logBeta = this.buildLogBeta(output);
		this.buildGammaAndUpdate(output);
	}
	/*
	public void buildGreekAndUpdate(EmissionCharacter[] output){
		this.logAlpha = this.buildLogAlpha(output);		
		this.buildBetaAndUpdate(output);
	}*/
	
	private int getStateCount(){ return this.a.length; }
	private int getSymbolCount(){ return this.b[0].length; }
	
	public String getDescription() {
		return "HMM (State#="+this.getStateCount()+")";
	}
	
	transient private double[] logKnownAlpha = null;
	public double[] predict(WordType wordType) {
		if(wordType==null){
			// prepare for prediction
			this.logKnownAlpha = this.initLogAlphaColumn();
		}else if(this.logKnownAlpha==null){
				throw new RuntimeException(
						"logKnownAlpha==null! The first input for the predict() should be null! current wordType="+wordType.getOriginalTag());
		}else{
			logKnownAlpha = this.nextLogAlphaColumn(logKnownAlpha, wordType);
		}
		double[] logPrediction = new double[WordType.size()];
		
		for(WordType nextPossibleWord : WordType.values()){
			double[] logGuessingAlpha = this.nextLogAlphaColumn(logKnownAlpha, nextPossibleWord);
			double logSum = Double.NEGATIVE_INFINITY;
			for(double d : logGuessingAlpha){
				logSum = Logdouble.add(logSum, d);
			}
			logPrediction[nextPossibleWord.getIndex()] = logSum;
		}
		return Logdouble.normalizedProb(logPrediction);
	}
	public void prepare(WordType[] allWords){}
	
	private double getAverageLogAlphaLikelihood(int trainLength){
		return logAlpha[logAlpha.length-1][this.getEndIndex()]/Math.log(2)/trainLength;
	}
	public void train(TrainTokens trainTokens) {
		WordType[] tt = trainTokens.getTokenArray();
		int index = 0;
		
		this.logAlpha = this.buildLogAlpha(tt);
		double avgLogLikelihood = Double.NEGATIVE_INFINITY;
		double newAvgLogLikelihood = getAverageLogAlphaLikelihood(tt.length);
		Global.debugOut.println("Normalized Log-likelihood @ iteration "
				+index+": train= "+newAvgLogLikelihood);
		do{
			index++;
			avgLogLikelihood = newAvgLogLikelihood;
			this.buildBetaAndUpdate(tt);
			
			double[][] trainLogAlpha = this.buildLogAlpha(tt);
			newAvgLogLikelihood = trainLogAlpha[trainLogAlpha.length-1][this.getEndIndex()]/Math.log(2)/tt.length;
			
			this.logAlpha = this.buildLogAlpha(tt);
			this.getAverageLogAlphaLikelihood(tt.length);
			Global.debugOut.println("Normalized Log-likelihood @ iteration "
					+index+": train= "+newAvgLogLikelihood);
			
		}while(Math.abs(avgLogLikelihood-newAvgLogLikelihood) > this.threshold
				&& avgLogLikelihood<newAvgLogLikelihood);
		
		// print parameters
		Global.debugOut.println("Printing parameter settings!");
		Global.debugOut.println("a = "+getParameterString(this.a));
		Global.debugOut.println("b = "+getParameterString(this.b));
		
		this.logAlpha = null;
		this.logBeta = null;
	}
	private static String getParameterString(double[][] dAA){
		StringBuffer buffer = new StringBuffer();
		String newLine = System.getProperty("line.separator");
		buffer.append("new double[][]{").append(newLine);
		for(int i=0; i<dAA.length; i++){
			double[] dA = dAA[i];
			
			buffer.append('{');
			for(int j=0; j<dA.length; j++){
				if(j!=0){ buffer.append(", "); }
				buffer.append(dA[j]);
			}
			buffer.append('}');
			if(i!=dAA.length-1){ buffer.append(", "); }
			buffer.append(newLine);
		}
		buffer.append("};");
		return buffer.toString();
	}
	public void setThreshold(double threshold) {
		this.threshold = threshold;
	}
	
	public LanguageModel clone(){ return new HMM(this); }
	
	public static List<LanguageModel> createModel(int i){
		List<LanguageModel> models = new ArrayList<LanguageModel>();
		models.add(new HMM(i, WordType.size()));
		return models;
	}
	
	
	public static void main(String[] args) throws IOException{
		long start = System.currentTimeMillis();
		
		run02(args);
//		HMM model = new HMM(3, WordType.size());
//		System.out.println(model.getSaveFileName(new GregorianCalendar()));
		
		long end = System.currentTimeMillis();	
		Global.debugOut.println("Program ended normally! in " +((end-start)/1000/60)+" minutes!" );
	}
	
	public String getSaveFileName(Calendar cal){
		DateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss");
		return format.format(cal.getTime())+"_HMM("+this.getStateCount()+")";
	}
	
	public static void run02(String[] args) throws IOException{
		Global.debugOut.println("Starting JLMTools...");
	
		Global.debugOut.println("Preparing training-evaluation set...");
		WordType[] trainATokens = WordType.parse(Global.getTrainA());
		
//		int[] sizeArray = new int[args.length];
//		for(int i=0; i<args.length; i++){
			int i=0;
			int stateSize = Integer.parseInt(args[i]);
//			sizeArray[i] = stateSize; 
			
			
			Global.debugOut.println("Creating HMM ("+stateSize+")...");
			HMM model = HMM.create(stateSize);
			
			WordType[][] tokens = CrossValidationTokenSet.divide(trainATokens, 10);
			
			WordType[] trainTokens = tokens[0];
			WordType[] evalTokens = tokens[1];				
		
			Global.debugOut.println("Starting training model...");
			model.train(new TrainTokens(trainTokens));
//		}
		
		
		
		
		
		Global.debugOut.println("Calculate Average-Log-Likelihood...");
		CrossValidationResultItem item =
			CrossValidationResultItem.evaluate(model, evalTokens);
		
		File ofile = new File(Global.modelsFolder,
				model.getSaveFileName(new GregorianCalendar())+"."+Global.modelFileExtension);
		Global.debugOut.println("Saving to file... "+ofile.getName());
		Global.save(model, ofile);
		
		Global.debugOut.println(item.makeReport());
	}
	public static void run01(String[] args) throws IOException{
		Global.debugOut.println("Preparing training-evaluation set...");
		WordType[] trainATokens = WordType.parse(Global.getTrainA());
		
//			System.out.println(trainATokens.length);
		CrossValidationTokenSet cvts = new CrossValidationTokenSet(trainATokens, 10);
		
		int stateSize = Integer.parseInt(args[0]);
		Global.debugOut.println("Creating HMM ("+stateSize+")...");
		LanguageModel model = new HMM(stateSize, WordType.size());
		
		Global.debugOut.println("Starting Cross-validation("+cvts.getValidationSize()+")...");
		CrossValidationResult result = cvts.crossValidate(model);
		Global.debugOut.println(result.makeReport());
	}
}
